我在我的WPF項目中使用C#。我想向網站發送一個GET
http請求,但我想以某種方式發送它,以便它看起來像來自瀏覽器的請求。
現在我有一個程序發送一個GET
請求並獲得響應。我使用WebRequest
類發送GET
請求。
我知道瀏覽器會向瀏覽器名稱,操作系統名稱和計算機名稱等請求添加一些信息。
我的問題是如何將這些信息添加到我的WebRequest
?要分配哪些屬性(瀏覽器名稱,操作系統名稱)?如何模擬代碼中的Web瀏覽器http請求?
4
A
回答
2
您應該使用Fiddler來捕獲您想要模擬的請求。 你需要看看檢查員>原始。 這是鉻
GET http://fiddler2.com/ HTTP/1.1
Host: fiddler2.com
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36
Referer: https://www.google.be/
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,nl;q=0.6
的提琴手站點的請求的例子然後,您可以設置在這些的WebRequest標題的每一個(見http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx)。
WebRequest request = (HttpWebRequest)WebRequest.Create("http://www.test.com");
request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36";
1
一般情況下,您感興趣的信息(瀏覽器,操作系統等)會在「用戶代理」標題中與請求一起發送。您可以控制用戶代理其屬性,在這裏:
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.useragent.aspx
可能有其他方面的差異,我建議使用招捕捉到你的瀏覽器的流量,然後將其從您的基於.NET的網絡比作交通請求。
享受。
0
所有這些信息都通過Web請求中的標頭髮送。您還可以在標題中添加此類信息作爲鍵/值對。但是,您只有有限的屬性,可以使用WebRequest的標題屬性進行設置;其中許多是受限制的。您還可以檢查以下線程中受限標題屬性的列表:Cannot set some HTTP headers when using System.Net.WebRequest。
相關問題
- 1. 如何模擬請求瀏覽器C#?
- 2. HTTP請求的瀏覽器
- 3. 瀏覽器編碼HTTP請求
- 4. 如何模擬HTTP請求?
- 5. 如何模擬ajax請求的瀏覽器超時?
- 6. 如何使用Java(Apache HTTP Client)模擬瀏覽器HTTPS POST請求?
- 7. 如何在瀏覽器中瀏覽$ http響應代碼塊?
- 8. 請建議一個庫在瀏覽器中模擬ajax請求
- 9. 未使用瀏覽器的HTTP請求
- 10. 在Web瀏覽器中獲取http請求
- 11. Http請求多瀏覽器麻煩
- 12. 觀察HTTP請求並在代碼中模擬相同的請求
- 13. 如何在Web瀏覽器知道,如果被請求的URL爲https或http
- 14. 檢查Web瀏覽器中的HTTP狀態代碼
- 15. 如何在web瀏覽器的url中發送referer請求
- 16. 在可可模仿瀏覽器中發出HTTP請求
- 17. 可能向Web瀏覽器發出HTTP請求?
- 18. 如何檢查HTTP請求是否在瀏覽器中打開?
- 19. 如何使用Python請求模塊來模擬HTTP post請求?
- 20. Web服務請求在Android瀏覽器和代碼中不起作用;但它在PC瀏覽器中工作
- 21. 模仿瀏覽器HTTP發佈請求,奇怪的格式
- 22. c#Web瀏覽器模擬按鈕按
- 23. IIS如何阻止來自瀏覽器的http請求
- 24. 如何使用Javascript檢測瀏覽器的HTTP請求?
- 25. 如何處理來自瀏覽器的http請求使用c#
- 26. 在非Web代碼中模擬請求範圍
- 27. 守夜模擬HTTP請求
- 28. HTTP和Ajax請求模擬
- 29. 模擬HTTP POST請求
- 30. 如何在Web瀏覽器中啓用觸摸事件模擬?
https://stackoverflow.com/a/44076963/3079364這是如何將UserAgent標頭添加到.net – user3079364