微信小程序访问豆瓣电影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 相关文章推荐
查找iframe里元素的方法可传参
Sep 11 Javascript
Javascript中Array.prototype.map()详解
Oct 22 Javascript
javascript框架设计之类工厂
Jun 23 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
Sep 14 Javascript
JS文件上传神器bootstrap fileinput详解
Jan 28 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
Nov 10 Javascript
JavaScript实现省市县三级级联特效
May 16 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
Jun 28 Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 Javascript
vue 解决provide和inject响应的问题
Nov 12 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
截获网站title标签之家内容的例子
2006/10/09 PHP
php采集文章中的图片获取替换到本地(实现代码)
2013/07/08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
2014/06/25 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
javascript跟随滚动效果插件代码(javascript Follow Plugin)
2013/08/03 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
RequireJs的使用详解
2017/02/19 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
elementUI 设置input的只读或禁用的方法
2018/10/30 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
安装python及pycharm的教程图解
2019/10/10 Python
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
教育孩子心得体会
2014/01/01 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
医生见习报告范文
2014/11/03 职场文书
培训讲师开场白
2015/06/01 职场文书
感恩的心主题班会
2015/08/12 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python
nginx结合openssl实现https的方法
2021/07/25 Servers