昨天改了下小程序的后臺(tái),重啟服務(wù)之后,發(fā)現(xiàn)豆瓣API返回403,應(yīng)該是豆瓣對(duì)小程序的請(qǐng)求做了限制,不知道為啥要這樣做,簡直有毒。
解決方法
nginx做代理,并改變請(qǐng)求的Referer和User-Agent頭部信息
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太強(qiáng)大,太好用了。
//////////////////////////////////////////////////////////// 補(bǔ)充 //////////////////////////////////////////////////////////////////////
location / {
proxy_pass http://localhost:8080/;
}
必須要nginx監(jiān)聽443端口,然后轉(zhuǎn)發(fā)請(qǐng)求到你自己的小程序服務(wù),上面配置就是轉(zhuǎn)到8080端口。
配置完之后,請(qǐng)求豆瓣的api的url應(yīng)該變?yōu)?a target="_blank" rel="nofollow">http://hostname/v2/.... 。
就是在原來請(qǐng)求豆瓣API的基礎(chǔ)上將api.douban.com換為你自己的域名。