微信小程序使用wx.request API请求豆瓣公开api的时候,会报一个403(Forbidden)的错误。
这是为什么呢?是由于来自小程序的调用过多,豆瓣来自于小程序的调用被禁止。这里收集以下三种方法解决此问题(设置代理):
1、使用 https://douban.uieee.com
2、使用 https://www.zhihu.com/question/265806694/answer/302894881
以上两种方法均是设置代理请求豆瓣API数据。
使用方法:
把 https://www.api.douban.com 换成以上任意一个代理即可。
例如: url:'https://api.douban.com/v2/movie/subject/'+options.id 换成
url: 'https://douban.uieee.com/v2/movie/subject/'+options.id 即可访问。
在设置好之后,请求完成之后会出现 400 (Bad Request) 的错误。解决方法如下:
把 ‘Content-Type’: ‘application/json’改成 ‘Content-Type’: ‘application/xml’,或者将‘Content-Type’的值直接设置为'json',切记不能是 application/json 或 ' '。
如过使用了APPID,则会出现以下错误,https://www.zhihu.com 不在以下 request 合法域名列表中。
出现这个问题的原因是:微信要求配置以https为开头的合法域名,需要在后台的设置—开发设置—服务器域名中配置即可。
3、使用ngix配置做代理,详细信息可以参考:[http://xinwenke.top/2018/01/18/douban403/]