2017-04-10 89 views
0

我只是想知道,如果我們可以發送HTTP請求API/Web服務器匿名?現在一些谷歌搜索後。如果可能,我找不到任何答案。發送HTTP請求到服務器的匿名

我正在寫一個代碼,將從它的服務器刮數據,但我認爲他們可能有一個他們的數據的API監測功能。

現在我正在使用Axios的節點,我正在使用的腳本每分鐘提取幾乎10K個請求,我認爲這是不好的,因爲他們的服務器可能會炸燬。

我試過谷歌搜索,但我沒有找到任何答案我的問題。

+1

我一直在職業生涯中不止一次地出現過失控刮刀的情況,所以我會提供一些建議:或許您可以聯繫網站的所有者並就使用他們的數據達成某種協議?在很多國家,刮網站是最好的一個法律的灰色區域,有時簡直是禁止的(特別是如果它導致停運,即金錢賠償)。 – robertklep

+0

「每分鐘10k次請求」是的,它很糟糕,非常糟糕。 – Veve

+1

所以也許我應該做的時間間隔,就像他們的網站做的每一個你點擊鏈接時,每一個要求。 謝謝! – Hitori

回答

2

發送HTTP請求到服務器匿名

HTTP協議使用TCP作爲底層傳輸協議。 TCP協議使用三次握手建立連接。從理論上說,您可以發送沒有您的源地址或別人地址的數據包 - 就像您可以在傳真郵件的信封上將其他人的地址寫爲發件人一樣。

現在,三次握手的工作方式如下:您發送第一個SYN數據包,然後服務器發送一個SYN-ACK數據包 - 給誰?如果您的地址不在第一個SYN數據包中,則服務器無法向您發送第二個數據包。如果你無法獲得SYN-ACK數據包,那麼你甚至不能建立連接。這就是你甚至可以考慮在TCP連接上發送HTTP請求的原因,因爲沒有連接。

因此,答案是:不可以。您不能匿名發送HTTP請求,因爲您無法匿名建立TCP連接。

當然你可以使用代理服務器,VPN,隧道,NAT或類似的東西,這樣的請求看起來不是源於你,但請記住代理需要知道你的地址,以傳遞給你的迴應你不完全匿名,只有其他人知道你是誰,並且只要你遇到任何麻煩,別人都會毫不猶豫地泄露你的身份。

+1

謝謝! 也許我應該做的間隔每一個HTTP請求到他們的服務器來模擬他們的網站。 當您使用捲曲發送HTTP請求,JavaScript的我只是想知道。 PHP或任何東西。服務器端或客戶端。 地址是什麼?這些使用? – Hitori