微信小程序訪問豆瓣api403問題解決方法一覽;通過豆瓣api可以獲取很多電影、書籍等的數據信息。昨晚上用微信小程序請求豆瓣api,竟然被豆瓣拒絕了。(豆瓣設置了小程序的訪問權限);下面就跟着小編一起來看看最新的解決方法吧!
問題:
小程序請求是這樣子:

錯誤這樣子

解決:
1、使用Nginx
首先下載Nginx
解壓
打開解壓文件nginx-1.13.12(這是你的解壓文件名)/conf/nginx.conf
在文件中找到server {},在server {}下添加

重點是更改 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';
以此來代替小程序去請求豆瓣,然后把數據返回給小程序。
更改配置后保存,在nginx.exe 文件夾下打開命令窗口,輸入start nginx,啟動后每次修改配置,可以使用nginx -s reload
start nginx : 啟動nginx
nginx -s reload :修改配置后重新加載生效
nginx -s reopen :重新打開日志文件
nginx -t -c /ath/to/nginx.conf 測試nginx配置文件是否正確
關閉nginx:
nginx -s stop :快速停止nginx
nginx -s quit :完整有序的停止nginx
注意,我是在windows下進行開發和配置
如何使用:只需把請求的url的協議和域名替換成http://localhost/v2/,例如https://api.douban.com/v2/book/1220562 =》http://localhost/v2/book/1220562
測試:

竟然還是錯誤!!!

狀態碼4xx客戶端錯誤,400Bad Request 意思是我們發送了一個錯誤的請求。經過嘗試發現,把header請求改成 header: { 'content-type': 'application/xml' }就可以了。額。。。明明獲取的數據就是json,。。。可能是小程序后台對header做了限制。
終於等到你(正確測試)


以上就是關於小程序請求豆瓣api報403解決方法的全部內容
第二種:
通過豆瓣API可以獲取很多電影、書籍的數據信息,今天在調用豆瓣正在上映電影接口的時候報403錯誤,原因是豆瓣設置了小程序的訪問權限。如下:

解決方法是使用代理,將豆瓣API地址換成 https://douban.uieee.com,但是,悲催的是又報了400(bad request)錯誤,如下:

接下來,設置請求頭,header默認為: "ontent-type": "application/json"; 但是仍然會報400錯誤,將請求頭中json設置改為xml,請求成功,如下:

