微信小程序访问豆瓣电影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 相关文章推荐
jquery 简单应用示例总结
Aug 09 Javascript
JSP跨iframe如何传递参数实现代码
Sep 21 Javascript
在百度知道团队中快速审批新成员的js脚本
Feb 02 Javascript
js创建一个input数组并绑定click事件的方法
Jun 12 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
纯js实现手风琴效果
Apr 17 Javascript
AngularJs  Understanding Angular Templates
Sep 02 Javascript
JavaScript实现简单图片轮播效果
Aug 21 Javascript
AngularJS中的路由使用及实现代码
Oct 09 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
深入分析jQuery.one() 函数
Jun 03 jQuery
处理JavaScript值为undefined的7个小技巧
Jul 28 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
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
node.js中的fs.fstat方法使用说明
2014/12/15 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
Javascript中将变量转换为字符串的三种方法
2017/09/19 Javascript
vue源码入口文件分析(推荐)
2018/01/30 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
python ip正则式
2009/05/07 Python
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
详解python中的线程与线程池
2019/05/10 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
土木工程个人自荐信范文
2013/11/30 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
鼋头渚导游词
2015/02/05 职场文书
优秀教师个人总结
2015/02/11 职场文书
爱国主题班会教案
2015/08/14 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL