微信小程序访问豆瓣电影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插件jbox使用iframe关闭问题
Feb 09 Javascript
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
js简单的点击返回顶部效果实现方法
Apr 10 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
Jul 29 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 Javascript
ng2学习笔记之bootstrap中的component使用教程
Mar 09 Javascript
Angular.js自动化测试之protractor详解
Jul 07 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
Oct 17 Javascript
JS 中document.write()的用法和清空的原因浅析
Dec 04 Javascript
解决vue attr取不到属性值的问题
Sep 18 Javascript
详解vue使用$http服务端收不到参数
Apr 19 Javascript
js通过canvas生成图片缩略图
Oct 02 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
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php的常量和变量实例详解
2017/06/27 PHP
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
根据身份证号自动输出相关信息(籍贯,出身日期,性别)
2013/11/15 Javascript
jQuery中事件对象e的事件冒泡用法示例介绍
2014/04/25 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
学习Bootstrap组件之下拉菜单
2015/07/28 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
2016/05/05 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
Vue插件写、用详解(附demo)
2017/03/20 Javascript
微信小程序 共用变量值的实现
2017/07/12 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
Vue实现浏览器打印功能的代码
2020/04/17 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python服务器与android客户端socket通信实例
2014/11/12 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
python绘制简单折线图代码示例
2017/12/19 Python
Python编程scoketServer实现多线程同步实例代码
2018/01/29 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python入门之基础语法学习笔记
2020/02/08 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
自我评价正确写法范文
2013/12/10 职场文书
房地产开盘策划方案
2014/02/10 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
产品售后服务承诺书
2014/05/21 职场文书
团委工作总结2015
2015/04/02 职场文书
运动会广播稿20字
2015/08/19 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
python自动化调用百度api解决验证码
2021/04/13 Python
图文详解Nginx版本平滑升级方案
2021/09/15 Servers