小程序調(diào)用豆瓣接口403 node的解決方案

豆瓣好像禁了小程序的接口調(diào)用,返回403錯(cuò)誤。網(wǎng)上查了一圈豆瓣應(yīng)該是通過headers里的referer判斷的。

可是wx.request(OBJECT)又不能更改referer。

image

網(wǎng)上都是用nginx來搞的,無奈我這菜B還不會(huì)用。。。

所以就自己試著用node做服務(wù)器代理。

上代碼:

    var express = require("express");
    var app = express();
    var proxy = require("http-proxy-middleware");
    var cors = require("cors");
    var apiproxy = [proxy("/v2/movie/top250", {
        target: "https://api.douban.com",
        changeOrigin: true
    }), proxy("/*", {
        target: "http://localhost:3000",
        changeOrigin: true
    })];

    app.use(cors());
    app.use((req, res, next) => {
        req.headers = {
            "accept": "*/*",
            "accept-encoding": "gzip, deflate, sdch, br",
            "accept-language": "zh-CN,zh;q=0.8",
            "cache-control": "no-cache",
            "connection": "keep-alive",
            "host": "localhost:5000",
            "origin": "http://localhost:8080",
            "pragma": "no-cache",
            "referer": "http://localhost:8080/",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"
        }
        next();
    });
    app.use((req, res, next) => {
        console.log(req.headers.referer);
        next();
    })
    app.use(apiproxy);


    app.listen(5000, () => {
        console.log("port on 5000")
    });

寫了個(gè)中間件,headers的設(shè)置直接用了普通瀏覽器里請(qǐng)求api的設(shè)置。

    wx.request({
      url: "http://localhost:5000/v2/movie/top250",
      success(res) {
        console.log(res.data);
      }
    })

搞定!

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,540評(píng)論 19 139
  • 給提問的開發(fā)者的建議:提問之前先查詢 文檔、通過社區(qū)右上角搜索搜索已經(jīng)存在的問題。 寫一個(gè)簡明扼要的標(biāo)題,并且...
    極樂叔閱讀 14,620評(píng)論 0 3
  • 轉(zhuǎn)載:https://help.aliyun.com/knowledge_detail/5974693.html?...
    meng_philip123閱讀 1,742評(píng)論 1 12
  • 在我們開發(fā)中常常會(huì)遇到這樣的情況,當(dāng)前是列表頁面 ,點(diǎn)擊后進(jìn)詳情頁面,會(huì)把列表頁面的model傳到詳情頁面,如圖:...
    目染江夏閱讀 3,587評(píng)論 0 4
  • 朋友圈不過是一個(gè)被開發(fā)出來的應(yīng)用工具。 就像是把菜刀,是庖丁解牛,還是砍掉了手指頭,關(guān)刀什么事?要問,還是要問那個(gè)...
    whiteqiao閱讀 66評(píng)論 0 1

友情鏈接更多精彩內(nèi)容