HttpWebResponse仅返回页面的一个元素

弗拉基米尔·波塔波夫(Vladimir Potapov)

您好,我做了一个简单的httpwebrequest,然后我读了(StreamReader)响应,只想获取网站的html页面,但是我在浏览器中只能得到一个laber(页面的一个元素),一切正常(我可以看到所有页面) ),但是当我尝试将cookie设置为Deny \ disable时,我也在浏览器中得到了这个标签(仅页面的一个元素),所有内容都消失了。就像代码中一样),这意味着我的HttpWebRequest的设置为cookies = deny / disable。

您可以转到https://www.bbvanetcash.com/local_kyop/KYOPSolicitarCredenciales.html并使用F12禁用cookie,您将看到difrance以及带有一个标签的该页面。

播下我的代码有什么想法我需要在这里更改吗?

HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("https://www.bbvanetcash.com/local_kyop/KYOPSolicitarCredenciales.html");

HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
Stream streamResponseLogin = myHttpWebResponse.GetResponseStream();
StreamReader streamReadLogin = new StreamReader(streamResponseLogin);
LoginInfo = streamReadLogin.ReadToEnd();
曼尼什·达拉尔(Manish dalal)

您的代码正在接收完整的页面内容,但是无法接收动态内容。之所以发生这种情况,是因为您要访问的页面依赖于Cookies来维护会话,还依赖JavaScript(它使用jQuery)来加载动态内容并提供丰富的用户体验。

要成功接收整个页面,您的代码必须

  • 支持跨各种HttpRequest检索,存储和发送cookie对象HttpResponse
  • 能够执行JavaScript代码来加载页面的动态内容/标记

要测试“您的代码是否接收到正确的值”,请访问网站Sniffer,并将您的URL放在此处。

正如您可以在网络嗅探器网站上尝试的那样,对于www.google.com,您得到的响应是一个重定向指令...。这意味着,即使访问Google主页,您的代码也必须能够理解HTTP状态消息(302那里)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章