javascript - 跨域讀取網站接口獲取數據遭遇堵截
問題描述
今天用webpack的代理模式想要讀取某網站的數據接口,來獲取在線數據。結果返回200,以為成功了。打開數據一看,code返回500,直接被服務器判定惡意訪問了。想請問碰到這種情況,有什么辦法可以不被服務器判定為惡意訪問而獲取到正常數據嗎?以下圖一為狀態碼截圖,圖二為返回的數據。
問題解答
回答1:今天修改了接口后請求成功了,原因每次請求這個接口時,都發發送若干個參數給服務器,其中一個是token參數。我昨天在沒有仔細看接口,覺得接口地址太長了,就把除了商鋪ID以外的參數都刪了,把token參數也刪了。于是就出問題了。今天我吧token參數加上,就可以直接獲取數據。不過奇怪的是,對方服務器判定token似乎只要有值即可,并不驗證值,所以我吧token參數的值,改為任何字符都可以通過。
回答2:首先,data里面的500已經是響應報文數據里面的內容了,這就意味著那個500是人家程序員給你的500,而不是HTTP的狀態碼。這個500在人家那里意味著‘餐單正在維護。。。。。。’。
如果像你所說的,你被人家判定為惡意訪問了,那這個是人家的某種不管是出于跨域請求方面的安全也好還是別的也好的策略,你能怎么辦?只能讓人家把的ip加到他的白名單里面,這樣子成為他信任的訪問者,然后給你返回你想要的數據。
回答3:先用正常方式抓包。看看請求中都發了什么信息(host、referer、cookie、ua啥的)。然后你請求的時候也帶上同樣的內容試試。
相關文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?2. mysql - 表名稱前綴到底有啥用?3. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?4. mysql - 怎么生成這個sql表?5. mysql儲存json錯誤6. 哭遼 求大佬解答 控制器的join方法怎么轉模型方法7. mysql - 數據庫表中,兩個表互為外鍵參考如何解決8. 編輯成功不顯示彈窗9. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。10. sql語句 - 如何在mysql中批量添加用戶?
