1

是否可以像浏览器一样在 C# 中使用 HttpWebRequest 进行完全相同的 POST?没有一个页面能够检测到它实际上不是浏览器?

如果是这样,我可以阅读更多吗?

4

2 回答 2

2

下载并熟悉Fiddler等工具。它允许您检查从应用程序发出的 Web 请求,如普通浏览器,并准确查看正在发送的内容。然后,您可以模拟使用 C# 创建的请求发送的数据,为标头、cookie 等提供值。

于 2012-05-10T20:06:48.153 回答
1

我认为这是可行的。

浏览器检测是基于请求中的标头完成的。您需要做的就是设置该标题。在 HttpWebRequest 中,我们不需要设置 headers 集合,而是设置 .UserAgent 属性。

例如:

.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";

用户代理有很多。检查链接以获取用户代理的完整列表

有用的链接:

如何在 C# 中创建一个简单的代理?
WebRequest 是与网站交互的正确 C# 工具吗?
http://codehelp.smartdev.eu/2009/05/08/improve-webclient-by-adding-useragent-and-cookies-to-your-requests/

于 2012-05-10T20:06:37.400 回答