javascript - 跨域讀取網(wǎng)站接口獲取數(shù)據(jù)遭遇堵截
問題描述
今天用webpack的代理模式想要讀取某網(wǎng)站的數(shù)據(jù)接口,來獲取在線數(shù)據(jù)。結(jié)果返回200,以為成功了。打開數(shù)據(jù)一看,code返回500,直接被服務(wù)器判定惡意訪問了。想請問碰到這種情況,有什么辦法可以不被服務(wù)器判定為惡意訪問而獲取到正常數(shù)據(jù)嗎?以下圖一為狀態(tài)碼截圖,圖二為返回的數(shù)據(jù)。
問題解答
回答1:今天修改了接口后請求成功了,原因每次請求這個接口時,都發(fā)發(fā)送若干個參數(shù)給服務(wù)器,其中一個是token參數(shù)。我昨天在沒有仔細(xì)看接口,覺得接口地址太長了,就把除了商鋪ID以外的參數(shù)都刪了,把token參數(shù)也刪了。于是就出問題了。今天我吧token參數(shù)加上,就可以直接獲取數(shù)據(jù)。不過奇怪的是,對方服務(wù)器判定token似乎只要有值即可,并不驗證值,所以我吧token參數(shù)的值,改為任何字符都可以通過。
回答2:首先,data里面的500已經(jīng)是響應(yīng)報文數(shù)據(jù)里面的內(nèi)容了,這就意味著那個500是人家程序員給你的500,而不是HTTP的狀態(tài)碼。這個500在人家那里意味著‘餐單正在維護。。。。。?!?。
如果像你所說的,你被人家判定為惡意訪問了,那這個是人家的某種不管是出于跨域請求方面的安全也好還是別的也好的策略,你能怎么辦?只能讓人家把的ip加到他的白名單里面,這樣子成為他信任的訪問者,然后給你返回你想要的數(shù)據(jù)。
回答3:先用正常方式抓包??纯凑埱笾卸及l(fā)了什么信息(host、referer、cookie、ua啥的)。然后你請求的時候也帶上同樣的內(nèi)容試試。
相關(guān)文章:
1. 這是什么情況???2. javascript - webpack編譯后的文件不生效,未編譯的文件生效3. thinkphp3 count()方法必須加上字段?4. mysql 5個left關(guān)鍵 然后再用搜索條件 幾千條數(shù)據(jù)就會卡,如何解決呢5. javascript - 關(guān)于input="file",重復(fù)選擇同一文件時不觸發(fā)change事件的問題6. python - 這句是什么錯誤?7. 輸入地址報以下截圖錯誤,怎么辦?8. mysql - SQL server 誤用delete 怎么恢復(fù)?9. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。我要forsearch里面echo10. python中return 語句與 分支語句連用問題
