解决微信小程序调整豆瓣电影(小说)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 :()={ });},要查看返回的内容:
原因是豆瓣设置了小程序的访问权限
总有解决的办法!
1.设置nginx代理:
在nginx.conf中添加以下配置:
location /v2/{ proxy_store关闭;proxy_redirect关闭;proxy _ set _ header _ X-forward-For $ proxy _ add _ X _ forward _ For;proxy _ set _ header X-Real-IP $ remote _ addr;proxy_set_header Referer '降级时无引用';proxy_set_header用户-代理' Mozilla/5.0(Windows NT 10.0;WOW64)applebwebkit/537.36(KHTML,像Gecko)Chrome/62 . 0 . 3202 . 94 Safari/537.36 ';proxy _ connect _ timeout 600proxy _ read _ timeout 600proxy _ send _ timeout 600proxy _ pass https://api.douban.com/v2/; }重启nginx
修改小程序的请求路径是http://localhost/v2/movie/top 2502。
2.更改官方域名:
官方域名http://api.douban.com的替代者是https://douban.uieee.com。https://douban.uieee.com是老大哥设立的代理,相当于别人替你做了第一件事。你只需要搬进去使用它。
好像还可以~看看现在有没有获得数据
一步之遥,修改请求头
表头: { '内容-类型' : '应用/XML'},我们再来看看~
了解杭州四大电影:
onLoad(){ uni . request({ URL : ' https://Douban . uieee.com/v2/movie/in _ theaters ',method: 'GET ',header : { ' content-type ' : ' application/XML ' },data : { start : 0 0,count: 4,city: '杭州' },success 3360 RES={ console . log(RES)},fail:
1.让电影上映:https://douban.uieee.com/v2/movie/in_theaters
访问参数:
开始:开始数据项
计数:页数
城市:城市
2.拿到电影《250强:https://douban.uieee.com/v2/movie/top250》
访问参数:
开始:开始数据项
计数:页数
3.获得即将上映的电影:https://douban.uieee.com/v2/movie/coming_soon
访问参数:
开始:开始数据项
计数:页数
4.电影搜索:https://douban.uieee.com/v2/movie/search
访问参数:
开始:开始数据项
计数:页数
问:要搜索的电影关键词
标签:要搜索的电影的标签
5.电影细节:https://douban.uieee.com/v2/movie/subject/:id
访问参数:电影id
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。