如何識別各語言的http請求和區分瀏覽器的http請求,是不是可以做到100 反爬了?

時間 2021-06-03 17:44:14

1樓:2017gdgzoi48

實際上,爬蟲編寫者可以通過修改ua模擬出乙個和你瀏覽器一模一樣的請求包。更有甚者,可以修改傳送請求的ip位址,做到像VPN的效果。

基本不可能從請求判斷出是什麼語言或是瀏覽器發出的請求

2樓:sumiting

不可以的,程式語言編寫的程式可以百分百模擬瀏覽器的請求頭。

一些程式語言有那種瀏覽器包,webengine,webkit之類的,這種就是乙個瀏覽器。

所以反爬還是基於使用者行為是目前最好的手段

3樓:Intopass

問題,你如何識別headless chrome和chrome的區別?因為http請求只是一般的字串,所以程式可以完全模仿。

所謂識別應該是其他手段,如抓取滑鼠軌跡等各種細節,但永遠沒有100%。

4樓:

不可以哦。

你可以用burpsuite抓下包,看看瀏覽器發的請求和你的程式發的請求有什麼區別,尤其注意user-agent和referer

世界上沒有絕對的反爬。只要資料公開就一定可以拿到手,可能就是麻煩一些,成本高一些。

5樓:

不能。不能。不能。

至於你說的失敗,肯定是傳送的HTTP內容缺失某些資料,也許是user-agent,或者是referrer,也可能是少了某個cookie。或者是真實的登入依賴頁面依賴了js計算了某乙個特殊的值發給了服務端。總之肯定是你傳送的HTTP少了某些資料或者搞錯了某些資料。

開啟瀏覽器,F12看看真正的登入都傳送了什麼吧,是怎樣的互動流程。

6樓:loco

你作為乙個水平比絕大多數人高的人,能問出這種問題我是感到很詫異的。

因為這個世界上沒有任何辦法能直接通過請求體判斷出某個HTTP請求是否是非瀏覽器發出的!

HTTP協議本身就是無狀態的,不管是什麼客戶端,你自己用某個程式語言寫的也好、瀏覽器發出的也好,只要發出的請求體是一模一樣的(包括在HTTPS情況下的SSL/TLS連線),就不可能有人能判斷出是來自於什麼東西。

看完上面我說的話之後,你應該已經能聯想到一些操作了吧?還想不到的話,你可以試試Wireshark抓包對比一下。畢竟你現在應該不至於連HTTP包都模擬得不到位,問題肯定出在別的地方,比如建立連線的速度、客戶端SSL/TLS協議的版本/連線方式特徵、是否有重複建立TCP連線等。

以下為原回答:

並不能,過不了只是因為蔡…

Yandex 瀏覽器的使用體驗如何?

小心子木 這個是chrome核心開發的,很強大的都瀏覽器,它支援google,bing搜尋的箭頭選定,支援相關chrome相關的開發者選項,但是外掛程式的相對chrome比較少 摸了摸了 安卓Yandex應該能欽定為安卓最強瀏覽器,支援桌面chrome和opera的擴充套件,能用tampermonk...

如何檢視各個瀏覽器的 user agent stylesheet ?

張恩銘 周源 我只是一名勤勞的搬運工。或者在firefox位址列輸入 resource gre resources html.css.Chrome Safari WebKit html.css in trunk Source WebCore css Internet Explorer Trident...

如何評價 Mozilla 最新的瀏覽器引擎 Servo

公尺嘉 Servo的開發是為了充分利用多核的計算能力,這個不僅僅是瀏覽器,包括很多其它軟體,伺服器端軟體或者應用服務,是否能夠有效利用多核已經是很重要的問題,而之前的模型都沒有很好的解決這個問題 Go語言的快速發展也是因為他簡單易用的併發特性 Chrome本身使用多程序模型來啟用多核計算能力。多核或...