首  页
站长信箱
868搜索
网站登录
免费计数器
免费留言本
IP来源查询
网站技术教程
网站流量统计
文章探索:   分类:    关键字:  
    什么?你还在找兼职?上兼客吧,现在兼客吧平台太火了,知名度和诚信度也很高,注册就送0.5元现金,满3元就能提现,马上到账了!最低3元就能提现,大家可以注册下试试!注册地址:http://www.jiankeba.com/computeryc1688
  + 栏目导航
  + 相关文章
VB.Net打印设置打印预览和预览..
VB.Net抓取网页乱码的解决方法
如何用VB.Net创建一个三层的数..
使用TreeView控件
在VB.NET中使用动态属性
用VB.NET轻松制作特效窗体

技术教程 -> VB.NET教程 ->  
VB.Net抓取网页乱码的解决方法
来源:乐博网原创   人气:3013   录入时间:2010/1/29


    此文章为乐博网原创,可以自由转载和传播,但希望能保留本站的作者和信息来源,谢谢!如果大家对此问题或者关于VB.Net抓取网页或者采集的话题感兴趣,就一起加入讨论把他做得更完善吧!
   
   在调试VB.Net调用Microsoft.XMLHttp组件抓取网页时,遇到了抓取中文字符出现乱码,经测试若网页meta标签charset为utf-8的网页不会乱码,而charset为Gb2312的则会出现乱码,本文提供了一个完整的解决方法,希望对研究VB.Net抓取网页或者VB.Net实现采集功能的朋友有所帮助。
   
   以下为VB.Net抓取网页的函数LobDotCn 注:url_Link为抓取的目标页面 IsGb2312为是否Gb2312字符
   
    Public Function LobDotCn(ByVal url_Link As String, ByVal IsGb2312 As Boolean)
   
    On Error Resume Next
    Dim XmlHttp As Object
    XmlHttp = CreateObject("Microsoft.XMLHttp")
    XmlHttp.Open("POST", url_Link, False)
    XmlHttp.Send()
    Dim WebContent As Object
    Dim Str_WebContent As String
    If IsGb2312 Then
    WebContent = XmlHttp.ResponseBody
    Str_WebContent = System.Text.Encoding.Default.GetString(WebContent)
    Else
    WebContent = XmlHttp.ResponseText
    Str_WebContent = WebContent.ToString
    End If
    XmlHttp = Nothing
    LobDotCn = Str_WebContent
   
   End Function
   
   调用方式 :
   
    变量 = LobDotCn("http://www.lob.cn", True) '抓取 Gb2312网页
   
    变量 = LobDotCn("此处填写网址", False) ' 抓取utf-8网页
   
   
   附Microsoft.XMLHttp组件的相关说明:
   
   Open( bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword )
   bstrMethod: 数据传送方式,即GET或POST。
   bstrUrl: 服务网页的URL。
   varAsync: 是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。用中一般将其置为False,即异步执行。
   bstrUser: 用户名,可省略。
   bstrPassword:用户口令,可省略。
   
   Send( varBody )
   varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。
   
   setRequestHeader( bstrHeader, bstrvalue )
   bstrHeader:HTTP 头(header)
   bstrvalue: HTTP 头(header)的值
   
   如果Open方法定义为POST,可以定义表单方式上传:
   xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded")
   
   XMLHTTP属性:
   onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。
   responseBody: 结果返回为无符号整数数组。
   responseStream: 结果返回为IStream流。
   responseText : 结果返回为字符串。
   responseXML: 结果返回为XML格式数据。
   
   



| 网站转让 | 站长信箱 | 网站登录 | 技术教程 | 免费计数器 | 免费留言本 | 868流量统计 | 好帮手网站营销 |
地址:广东省阳江市  联系电话:13725641179 杨先生
Copyright 2004-2019 868资源网- 版权所有    粤ICP备05007330号