referer與user agent的應用

2021-08-31 15:27:21 字數 672 閱讀 8497

最近寫了個簡單的程式,從搜尋引擎搜尋的資料中爬取內容。

在訪問其它幾個搜尋引擎(bing,有道等),發現直接使用url建立連線會返回403拒絕。但用瀏覽器請求卻可以訪問。。於是猜測是伺服器端對user-agent進行了檢查。。增加了偽裝user-agent後,果然可以成功獲取到了

connection.setrequestproperty("user-agent", "mozilla/4.0 (compatible; msie 6.0; windows 2000)");

但在用於google的時候,發現獲取不到google的搜尋內容。用httpwatch觀察了請求。發現google並不是直接response中返回結果的。。而是先返回response,則使用js進行獲取搜尋結果內容。。根據這個順序猜測可能是referer做過限制。於是增加偽裝referer,可以成功獲取結果了

method.setrequestheader("referer ",");

經過上面的使用,在平時**開發中,可以是用user-agent和referer進行處理

1、使用user-agent進行識別是否是使用者操作,防止機器重複操作。當然還需要增加一些統計、頻率的判斷,否則很容易進行模擬

2、使用referer進行防盜煉處理

請求首部 Referer

首部欄位referer會告知伺服器請求的原始資源的uri 客戶端一般都會傳送referer首部欄位給伺服器.但當直接在瀏覽器的位址列輸入uri.或出於安全性的考慮時,也可以不傳送該首部欄位.因為原始資源的uri中的查詢字串可能含有id和密碼等保密資訊,要是寫進referer 給其他伺服器,則有可能導...

Scrapy增加隨機請求頭user agent

一般為了避免伺服器反爬蟲,當我們發出request時,需要增加一些隨機的請求頭資訊 header 然後就可以輕鬆的繞過伺服器的反偵察手段了。因此一般只要在middlewares.py檔案中新增加如下 然後每次request的時候,就會有隨機的user agent了,然後就可以有效的避免伺服器反爬蟲了...

初識http之referer欄位

首先了解http的referer欄位的作用 ps 關於盜鏈 盜鏈指的是在自己的介面展示不在自己伺服器上的內容,通過技術手段獲得他人伺服器的資源位址,繞過別人資源展示頁面,在自己頁面向使用者提供此內容,從而減輕自己伺服器的負擔,因為真實的空間和流量來自別人伺服器。對於使用apahce的伺服器可以使用自...