全国服务热线:186 2351 4428(微信同号)

QQ

二维码

电话

朱经理:18623514428

信息搜索
您当前所在的位置 首页 > 微享资讯 > 小程序 >

微信小程序调取豆瓣API403问题的解决方法

点击:

来源: 微享互动      时间:2018-07-26 15:36:51  

微信可以通过调取API赋予小程序强大的功能,例如调取百度翻译API可以用小程序翻译,调取高德地图API可以进行定位,而通过豆瓣api可以获取很多电影、书籍等的数据信息。但微信小程序请求豆瓣api,会出现403问题导致被豆瓣拒绝。具体的问题和解决方案如下:

小程序请求代码:

onLoad: function (options) {

this.getMoviesData(\'https://api.douban.com/v2/book/1220562\')

},

getMoviesData:function(url){

wx.request({

url: url,

data: {},

method: \'GET\',

header: {\'content-type\': \'application/json\' },

success: function (res){

console.log(res)

},

fail: function () {

console.log(\'fail\')

},

})

}

错误的类型

微信小程序调取豆瓣API403问题的解决方法

 

解决

1、使用Nginx

首先下载Nginx

解压

打开解压文件nginx-1.13.12(这是你的解压文件名)/conf/nginx.conf

在文件中找到server {},在server {}下添加

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.94Safari/537.36\';

proxy_connect_timeout 600;

proxy_read_timeout 600;

proxy_send_timeout 600;

proxy_pass https://api.douban.com/v2/;

}

重点是更改 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.94Safari/537.36\';

以此来代替小程序去请求豆瓣,然后把数据返回给小程序。

更改配置后保存,在nginx.exe 文件夹下打开命令窗口,输入startnginx,启动后每次修改配置,可以使用nginx -s reload

状态码4xx客户端错误,400Bad Request 意思是我们发送了一个错误的请求。经过尝试发现,把header请求改成 header: { \'content-type\': \'application/xml\' }就可以了。额。。。明明获取的数据就是json,。。。可能是小程序后台对header做了限制。

正确的代码:

onLoad: function (options) {

this.getMoviesData(\'http://localhost/v2/book/1220562\')

},

getMoviesData:function(url){

wx.request({

url: url,

data: {},

method: \'GET\',

header: {\'content-type\': \'application/xml\' },

success: function (res){

console.log(res)

 

},

fail: function () {

console.log(\'fail\')

},

})

}

运行结果:

微信小程序调取豆瓣API403问题的解决方法

 

预约开户

马上提交您的需求,我们会在24小时内联系您,提供产品策划服务!

投放需求

网址:http://www.cqaaa.com

地址:重庆市江北观音桥中信大厦13-2

业务直线:186 2351 4428

网站建设推广:18623514428 朱经理

信息流广告投放:18100871716 朱经理

微享官方微信

扫一扫 关注公众号