请问如何用vb.net获得网页的源代码?

happybfc 2006-04-30 02:46:54
刚开始学习vb,请大家详细指教
ps:更进一步,如果要想获得百度对某个词的查询结果数目,除了获得查询结果页面的源代码,然后抠出数目,还有什么更直接的办法吗?
...全文
369 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanjie88 2006-05-10
  • 打赏
  • 举报
回复
我还没尝试过中文的网页,不知道还有这个说法,呵呵,不过万哥已经帮你搞定了,
兔子-顾问 2006-05-10
  • 打赏
  • 举报
回复
Dim str As String = "北京"
Dim btArr As Byte()
Dim myEncoding As System.Text.Encoding = System.Text.Encoding.GetEncoding("gb2312")
btArr = myEncoding.GetBytes(str)
Dim sb As New System.Text.StringBuilder
For Each bt As Byte In btArr
sb.AppendFormat("%{0:X}", CType(bt, Integer))
Next
MsgBox(sb.ToString)


以上代码可以把"北京"转换成“%B1%B1%BE%A9”
happybfc 2006-05-10
  • 打赏
  • 举报
回复
我用sanjie88的方法确实获得了网页代码,但是如果url里有中文,获得的网页源代码里相应的中文就会变成乱码,比如我要在百度上面搜索“北京”,百度自己生成的url是:http://www.baidu.com/s?wd=%B1%B1%BE%A9&cl=3
但是我在编程时要把“北京”变成“=%B1%B1%BE%A9”就会很麻烦,于是心存侥幸地把url改成了
http://www.baidu.com/s?wd=北京,在浏览器地址栏里键入,得到的网页和上面的完全相同,本来很高兴,结果在编程的时候发现如果把strURL写成“http://www.baidu.com/s?wd=北京”,得到的网页源代码中“北京”就会变成一个乱码,从而抠出的搜索结果数也是乱码的搜索结果数,而不是想要的“北京”的搜索结果数,不知道这个问题如何解决?
web_gus 2006-05-08
  • 打赏
  • 举报
回复
msdn

如果您的站点使用代理来提供对 Internet 的访问,则您必须配置代理实例以使您的应用程序能够与 Web 代理进行通信。
以下代码示例创建一个全局代理实例,该实例将使任何 WebRequest 都能够使用代理来与 Internet 进行通信。此示例假设代理服务器名为 webproxy,并且它在端口 80(标准 HTTP 端口)上进行通信。
[C#]
WebProxy proxyObject = new WebProxy("http://webproxy:80/");
GlobalProxySelection.Select = proxyObject;
[Visual Basic]
Dim proxyObject As WebProxy = New WebProxy("http://webproxy:80/")
GlobalProxySelection.Select = proxyObject
您可以重写全局代理选择,方法是将实现 IWebProxy 接口的实例分配给您的 WebRequest 的 Proxy 属性。以下代码示例将 WebRequest 发送到 www.contoso.com,该 WebRequest 用端口 80 上名为 alternateproxy 的代理服务器重写全局代理选择。
[C#]
WebRequest req = new WebRequest.Create("http://www.contoso.com/");
req.Proxy = new WebProxy("http://alternateproxy:80/");
[Visual Basic]
Dim req As WebRequest = new WebRequest.Create("http://www.contoso.com/")
req.Proxy = New WebProxy("http://alternateproxy:80/")
sanjie88 2006-05-08
  • 打赏
  • 举报
回复
惭愧,你说的那个代理我不会
sanjie88 2006-05-08
  • 打赏
  • 举报
回复
大哥,你不是数据库那块的牛人吗?
zjcxc 2006-05-08
  • 打赏
  • 举报
回复
回楼上, 我以前用VB的, 所以改用VB.net了, 我是想知道一下, 怎么设置代理, 因为我在公司是用代理上网的, 无法实现
sanjie88 2006-05-08
  • 打赏
  • 举报
回复
zjcxc(邹建) :大哥你啥时候玩VB。NET了?
如果只是实现楼主要的功能,应该是不用管那些设置的
zjcxc 2006-05-08
  • 打赏
  • 举报
回复
借问一下, 如果是通过代理上网, 应该如何指定代理服务器和端口呢?
sanjie88 2006-05-08
  • 打赏
  • 举报
回复
dim strURL as string ' 这个是网页的地址
Dim sHttpWebClinet As system.Net.WebClient = New system.Net.WebClient
Dim myDatabuffer As Byte() = sHttpWebClinet.DownloadData(strURL) ‘将网页上的内容下载到byte类型的数组
Dim htmBody As String = System.Text.Encoding.ASCII.GetString(myDatabuffer)’将下载的内容放进一个字符串,剩下的就是对这个字符串取值了
'sHttpWebClinet.DownloadFile(strURL, ExdivFn)
sHttpWebClinet.Dispose()
sHttpWebClinet = Nothing
happybfc 2006-05-07
  • 打赏
  • 举报
回复
没人回答吗?自己顶一下

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧