微信小程序访问豆瓣电影api的实现方法


Posted in Javascript onMarch 31, 2019

解决微信小程序调豆瓣电影(小说)api时显示400、403问题

以获取豆瓣热映电影为例:

请求接口:

我这里使用的是uni-app框架(多端发布的一款框架,基于vue语法,正在踩坑中)

onLoad() {
  uni.request({
   url: 'http://api.douban.com/v2/movie/in_theaters',
   method: 'GET',
   data: {},
   success: res => {
    console.log(res)
   },
   fail: () => {},
   complete: () => {}
  });
 },

来看看返回了什么:

微信小程序访问豆瓣电影api的实现方法

原因是豆瓣那边设置了对小程序的访问权限

解决办法总是有的!

1.设置nginx代理:

在nginx.conf加入以下配置:

location /v2/
{ 
proxy_store off; proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header Referer 'no-referrer-when-downgrade'; 
proxy_set_header User-Agent 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'; 
proxy_connect_timeout 600;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_pass https://api.douban.com/v2/; 
}

重启nginx

修改小程序那边的请求路径为http://localhost/v2/movie/top2502.

2.更改官方域名:

替换官方给的域名http://api.douban.comhttps://douban.uieee.com,https://douban.uieee.com是某大佬搭建的代理,相当于别人替你去做了方法一的事情,你只需要搬过来用就行了。

似乎可以了~我们来看看现在获取到了data没有

微信小程序访问豆瓣电影api的实现方法

还差一步,修改请求头

header:{
   "Content-Type":"application/xml"
  },

再来看看吧~

微信小程序访问豆瓣电影api的实现方法

获取一下杭州的热映电影的前四个是什么吧:

onLoad() {
  uni.request({
   url: 'https://douban.uieee.com/v2/movie/in_theaters',
   method: 'GET',
   header:{
    "Content-Type":"application/xml"
   },
   data: {
    start: 0,
    count: 4,
    city: '杭州'
   },
   success: res => {
    console.log(res)
   },
   fail: () => {},
   complete: () => {}
  });
 },

附上豆瓣电影的常用接口:

1.获取正在热映的电影:https://douban.uieee.com/v2/movie/in_theaters

访问参数:

start : 数据的开始项

count:单页条数

city:城市

2.获取电影Top250:https://douban.uieee.com/v2/movie/top250

访问参数:

start : 数据的开始项

count:单页条数

3.获取即将上映电影:https://douban.uieee.com/v2/movie/coming_soon

访问参数:

start : 数据的开始项

count:单页条数

4.电影搜索:https://douban.uieee.com/v2/movie/search

访问参数:

start : 数据的开始项

count:单页条数

q:要搜索的电影关键字

tag:要搜索的电影的标签

5.电影详情:https://douban.uieee.com/v2/movie/subject/:id

访问参数:电影id

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
jQuery中addClass()方法用法实例
Jan 05 Javascript
JavaScript基础函数整理汇总
Jan 30 Javascript
JavaScript之数组(Array)详解
Apr 01 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
May 05 Javascript
实例教学如何写vue插件
Nov 30 Javascript
基于打包工具Webpack进行项目开发实例
May 29 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 Javascript
vue实现计算器功能
Feb 22 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 Javascript
vue项目首屏打开速度慢的解决方法
Mar 31 #Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 #jQuery
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 #Javascript
使用post方法实现json往返传输数据的方法
Mar 30 #Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
Mar 30 #Javascript
微信公众平台获取access_token的方法步骤
Mar 29 #Javascript
vue路由--网站导航功能详解
Mar 29 #Javascript
You might like
德劲1103二次变频版的打磨
2021/03/02 无线电
字母顺序颠倒而单词顺序不变的php代码
2010/08/08 PHP
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
使用PHP计算两个路径的相对路径
2013/06/14 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
Laravel 集成 Geetest验证码的方法
2018/05/14 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
Cookie 注入是怎样产生的
2009/04/08 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
Three.js基础学习教程
2017/11/16 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
2019/10/12 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
elementui实现预览图片组件二次封装
2020/12/29 Javascript
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
pytorch实现MNIST手写体识别
2020/02/14 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
DOM和JQuery对象有什么区别
2016/11/11 面试题
环境工程求职简历的自我评价范文
2013/10/24 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
企业授权委托书范本
2014/04/02 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
python中pandas对多列进行分组统计的实现
2021/06/18 Python
Python OpenCV超详细讲解基本功能
2022/04/02 Python