为什么HttpWebRequest和WebBrowser获得不同的HTML源代码?

Nas*_*sim 2 .net browser vb.net httpwebrequest

我想从网页上获取源代码.WebBrowser控件正在向我提供我正在寻找的信息.但是,我想使用HttpWebRequest,但它给我的源代码不同于WebBrowser DocumentText.

任何人都可以告诉我如何使用HttpWebRequest获得与WebBrowser相同的源代码?

Web浏览器代码:

WebBrowser1.Navigate("http://www.networksolutions.com/whois/results.jsp?domain=" & txtUrl.Text)
textbox1.Text = WebBrowser1.DocumentText
Run Code Online (Sandbox Code Playgroud)

WebBrowser结果:

http://textbin.com/f4368

HttpWebRequest代码:

Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url)
request.KeepAlive = False
request.Timeout = 10000

Dim response As System.Net.HttpWebResponse = request.GetResponse()

Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
Dim sourcecode As String = sr.ReadToEnd()
Run Code Online (Sandbox Code Playgroud)

HttpWebRequest结果:

http://textbin.com/2h445

Jon*_*ood 5

某些站点将查看用户代理字符串或其他因素,并返回基于此变化的内容.我已经编写了许多下载网页的项目,并且已经尝试了几次.

  • 要解决此根本原因的问题,您可以运行Fiddler之类的工具来检查请求之间的差异.然后你可以尝试调整你的user-agent/headers/referrer等来匹配 (2认同)