我过去使用过几个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/