微享互动主营:媒体广告(腾讯朋友圈 腾讯广点通 腾讯新闻APP 新浪新闻APP 凤凰新闻APP 优酷视频 陌陌到店通)、重庆网站建设、重庆小程序开发、重庆公众号制作

全国服务热线:023-6263 3701 | 15320293856

QQ

咨询

二维码

电话

汪经理:13594363214

文经理:17783139095

罗经理:15320293856

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

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

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

微信可以通过调取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小时内联系您,提供产品策划服务!

电话:023-62633701

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

地址:重庆南岸区南坪城市之光30 楼

网站建设咨询:15320293856 罗经理

百度广告咨询:13594363214 汪经理

朋友圈广告咨询:17783139095 文经理

微享官方微信

扫一扫 关注公众号



微享10年

我们共同走过