微信小程序訪問豆瓣電影api

解決微信小程序調豆瓣電影(小說)api時顯示400、403問題

以獲取豆瓣熱映電影爲例:

請求接口:

我這裏使用的是uni-app框架(多端發佈的一款框架,基於vue語法,正在踩坑中)vue

onLoad() {
        uni.request({
            url: 'http://api.douban.com/v2/movie/in_theaters',
            method: 'GET',
            data: {},
            success: res => {
                console.log(res)
            },
            fail: () => {},
            complete: () => {}
        });
    },

來看看返回了什麼:nginx

clipboard.png

緣由是豆瓣那邊設置了對小程序的訪問權限

解決辦法老是有的!

1.設置nginx代理:

  • 在nginx.conf加入如下配置:
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/; }

2.更改官方域名:

  • 替換官方給的域名http://api.douban.comhttps://douban.uieee.com,https://douban.uieee.com是某大佬搭建的代理,至關於別人替你去作了方法一的事情,你只須要搬過來用就好了。
  • 彷佛能夠了~咱們來看看如今獲取到了data沒有

clipboard.png

  • 還差一步,修改請求頭
header:{
           // 下面這兩個時好時壞,有些時候忽然碰到400,請求頭換一下就行了,這個問題我也無解
           // "Content-Type":"application/xml"
           "content-type":"json"
       },
  • 再來看看吧~

clipboard.png

  • 獲取一下杭州的熱映電影的前四個是什麼吧:
onLoad() {
        uni.request({
            url: 'https://douban.uieee.com/v2/movie/in_theaters',
            method: 'GET',
            header:{
                "Content-Type":"application/xml"
            },
            data: {
                start: 0,
                count: 4,
                city: '杭州'
            },
            success: res => {
                console.log(res)
            },
            fail: () => {},
            complete: () => {}
        });
    },

附上豆瓣電影的經常使用接口:

  1. 獲取正在熱映的電影:https://douban.uieee.com/v2/movie/in_theaters
    訪問參數:

    start : 數據的開始項json

    count:單頁條數小程序

    city:城市微信小程序

  2. 獲取電影Top250:https://douban.uieee.com/v2/movie/top250
    訪問參數:

    start : 數據的開始項api

    count:單頁條數微信

  3. 獲取即將上映電影:https://douban.uieee.com/v2/movie/coming_soon
    訪問參數:

    start : 數據的開始項app

    count:單頁條數框架

  4. 電影搜索:https://douban.uieee.com/v2/movie/search
    訪問參數:

    start : 數據的開始項ui

    count:單頁條數

    q:要搜索的電影關鍵字

    tag:要搜索的電影的標籤

  5. 電影詳情:https://douban.uieee.com/v2/movie/subject/:id
    訪問參數:電影id
    如:電影《小飛象》的電影id爲:25924056,搜索此電影的詳細信息:

    https://api.douban.com/v2/movie/subject/25924056

  6. 電影本週口碑榜: https://douban.uieee.com/v2/movie/weekly?apikey=0df993c66c0c636e29ecbb5344252a4a
  7. 北美票房榜: https://douban.uieee.com/v2/movie/us_box?apikey=0df993c66c0c636e29ecbb5344252a4a
  8. 新片榜: https://douban.uieee.com/v2/movie/new_movies?apikey=0df993c66c0c636e29ecbb5344252a4a
  9. 影人劇照: https://douban.uieee.com/v2/movie/celebrity/:id/photos?apikey=0df993c66c0c636e29ecbb5344252a4a
  10. 電影條目劇照: https://douban.uieee.com/v2/movie/subject/:id/photos?apikey=0df993c66c0c636e29ecbb5344252a4a
  11. 豆瓣音樂
    搜索 https://douban.uieee.com/v2/music/search?q=歐美&count=15?
    詳情 https://douban.uieee.com/v2/music/:id
  12. 豆瓣圖書
    搜索,例如:
    https://douban.uieee.com/v2/book/search?q=虛構類&count=8
    https://douban.uieee.com/v2/book/search?q=非虛構類&count=8
    https://douban.uieee.com/v2/book/search?q=旅行&count=8
  13. 獲取電影條目短評論: https://douban.uieee.com/v2/movie/subject/:id/comments?start=xxx&count=xxx&apikey=0df993c66c0c636e29ecbb5344252a4a
相關文章
相關標籤/搜索