C#:如何使 HttpWebRequest 模仿 Web 浏览器控件

标签 c# httpwebrequest

我过去使用过几个HttpWebRequest,但它们都用于登录网站。

我想知道如何让 WebRequest 模仿 WebBrowser ,就像您登录后导航到新页面,也许在那里执行操作一样,然后转到另一个页面?

我之前对此进行了一些研究,我认为这可能涉及使用先前请求的 cookie 或其他东西。

我的问题是我如何(我假设)从上一个 session 获取 cookie,然后导航到页面,或者完成一个操作,就好像我们仍在处理上一个请求(如果有意义的话)。

最佳答案

HttpWebRequest 有一个 Cookies 属性,HttpWebResponse 有一个 CookieContainer 属性。

您记录来自容器的 cookie,并将它们添加到下一个请求。

您可能还需要在请求对象上设置 HTTP referrer header 字段。

编辑:
这仍然不会让你模仿网络浏览器。诸如 JavaScript 之类的东西将无法工作/运行。而且您将没有要处理的 DOM。

关于C#:如何使 HttpWebRequest 模仿 Web 浏览器控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8363267/

相关文章:

c# - Unity UnityWebRequest 没有返回值

c# - HttpWebrequest 失败,yande.re(以及 IE 和 curl)["The request was aborted: Could not create SSL/TLS secure channel."]

c# - 如果从 using 语句中抛出异常,是否仍会调用清理逻辑?

c# - WP8 上的 HttpWebRequest.BeginGetResponse

c# - Visual Studio 更改 C# 方法参数着色

c# - MySql 和 C# 哈希值在转换为 BIGINT 时不匹配

c# - 使用什么设计模式来验证数据和创建对象

c# - Oauth2中如何同时撤销RefreshToken和使AccessToken失效

c# - 组名在中继器 asp.net 内的多个单选按钮中不起作用

silverlight - SharePoint 2010/IIS 7.5 字节范围请求响应整个文件