微信小程序访问豆瓣电影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 相关文章推荐
JObj预览一个JS的框架
Mar 13 Javascript
JavaScript控制table某列不显示的方法
Mar 16 Javascript
详解JavaScript ES6中的Generator
Jul 28 Javascript
JavaScript仿微博发布信息案例
Nov 16 Javascript
JQuery ZTree使用方法详解
Jan 07 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
简单实现js放大镜效果
Jul 24 Javascript
jQury Ajax使用Token验证身份实例代码
Sep 22 Javascript
Vue DevTools调试工具的使用
Dec 05 Javascript
基于Swiper实现移动端页面图片轮播效果
Dec 28 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
Jul 24 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
一周学会PHP(视频)Http下载
2006/12/12 PHP
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
2013/12/13 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
2016/04/01 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
python基于multiprocessing的多进程创建方法
2015/06/04 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
pandas如何处理缺失值
2019/07/31 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
Python有参函数使用代码实例
2020/01/06 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
纯CSS3实现运行时钟的示例代码
2021/01/25 HTML / CSS
教师评语大全
2014/04/28 职场文书
新手上路标语
2014/06/20 职场文书
实验心得体会
2014/09/05 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
SpringBoot整合MongoDB的实现步骤
2021/06/23 MongoDB
python实现双向链表原理
2022/05/25 Python
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL