我在我的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