2010-06-16 117 views
10

我讀了這個MSDN喜歡它,並運行它的例子。 http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent.aspxHttpWebRequest.UserAgent:它做什麼

當我改變了uSerAgnet以類似「嗒嗒」,輸出是錯誤的,但是當我使用的是即使我註釋掉的代碼,該代碼設置UserASgent行的例子同樣的事情,輸出是正確的。

什麼是UserAgent?我應該什麼時候設置它?如何知道我應該設置什麼值?

感謝

回答

12

,用戶代理是用來識別客戶端和操作系統等,這是最常用的瀏覽器中使用。您可以使用用戶代理指定您的身份,並且Web服務器可以返回包含適合您客戶端的數據的響應。例如,我用來訪問這個網站的用戶代理是:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.70 Safari/533.4如果我是一個網絡爬蟲,我會使用其他的東西,網絡服務器會將其識別爲爬蟲,而網絡服務器(網絡開發者)可能會返回一個優化的索引頁面。

除非您真的需要,否則我會建議您不要提出自己的用戶代理,因爲缺乏標準化在這個領域是一個足夠大的問題。

是否有任何理由特別需要惹惱用戶代理?

This page包含許多已知用戶代理的列表。

+0

謝謝,以及我正在看一個代碼示例作爲bellow,它設置userAgent,然後我搜索了msdn,並在他們的示例中,他們也設置它...但正如我們可以看到它下面的示例代碼將userAgent設置爲他正在編寫的C#應用​​程序的名稱,在msdn示例中將其設置爲「」.NET Framework測試客戶端「」,正如我在msdn鏈接中註釋該代碼時所說的,沒有任何更改!它仍然在工作 – Bohn 2010-06-16 21:40:33

+0

這裏也是我在之前的評論中說過的示例代碼,在之前的評論中沒有發佈它的空間: if(wReq是HttpWebRequest) {((HttpWebRequest)wReq)。 UserAgent = 「CytoWSClient」; } – Bohn 2010-06-16 21:41:23

+1

您可以設置任何您想要的UserAgent,但Web服務器需要能夠理解如何處理它。它用於將定製結果發送回客戶端,例如適合移動設備,瀏覽器或爬蟲的頁面。如果您只是希望瀏覽器看到該網站,則無需設置該屬性,或者至少將其設置爲已知的瀏覽器,以便獲得可預測的結果。 – 2010-06-16 21:46:09

相關問題