微信小程序访问豆瓣电影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 相关文章推荐
获取鼠标在div中的相对位置的实现代码
Dec 30 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
Dec 24 Javascript
javascript图片滑动效果实现
Jan 28 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
May 25 Javascript
Javascript之面向对象--封装
Dec 02 Javascript
js模糊查询实例分享
Dec 26 Javascript
如何提高数据访问速度
Dec 26 Javascript
vue.js事件处理器是什么
Mar 20 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
js制作提示框插件
Dec 24 Javascript
二维码条形码生成的JavaScript脚本库
Jul 07 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
php基础知识:类与对象(5) static
2006/12/13 PHP
PHP删除HTMl标签的实现代码
2013/06/30 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
2019/10/24 PHP
比较全的JS checkbox全选、取消全选、删除功能代码
2008/12/19 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
基于hover的用法实例(推荐)
2017/07/04 Javascript
vue.js实例todoList项目
2017/07/07 Javascript
three.js 入门案例详解
2018/01/23 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
2019/12/09 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
在Python中使用SimpleParse模块进行解析的教程
2015/04/11 Python
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
Django添加sitemap的方法示例
2018/08/06 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
python批量处理txt文件的实例代码
2020/01/13 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
高性能装备提升营地:Kammok
2019/02/27 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
师范生自我鉴定范文
2013/10/05 职场文书
班主任评语大全
2014/04/26 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
学校工作推荐信范文
2014/07/11 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
什么是Python装饰器?如何定义和使用?
2022/04/11 Python
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server