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

2018-05-14 16:57

摘要:微信可以通过调取API赋予小程序强大的功能,但小程序请求豆瓣api,会出现403问题导致被豆瓣拒绝

微信可以通过调取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\')

},

})

}

错误的类型

/

解决

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\')

},

})

}

运行结果:

/


推荐阅读:微信小程序开发有哪些注意事项 微信小程序开发教程


参与讨论

发表评论

扫码添加专属客服即可随时咨询

还可领取小程序推广攻略

咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部