VB获取网页源代码的五种方法

小歆14年前软件源码07525
方法1:inet控件调用方法 Inet1.OpenURL
    添加microsoft ineternet transfor conctrol6.0 控件
                              

方法2:XMLHTTP

'如果出现乱码,UTF-8可改为GB2312
Public Function GetBody(ByVal URL$, Optional ByVal Coding$ = "GB2312")
Dim ObjXML
On Error Resume Next
Set ObjXML = CreateObject("Microsoft.XMLHTTP")
With ObjXML
.Open "Get", URL, False, "", ""
.setRequestHeader "If-Modified-Since", "0"
.Send
GetBody = .ResponseBody
End With
GetBody = BytesToBstr(GetBody, Coding)
Set ObjXML = Nothing
End Function
Public Function BytesToBstr(strBody, CodeBase)
Dim ObjStream
Set ObjStream = CreateObject("Adodb.Stream")
With ObjStream
.Type = 1
.Mode = 3
.Open
.Write strBody
.Position = 0
.Type = 2
.Charset = CodeBase
BytesToBstr = .ReadText
.Close
End With
Set ObjStream = Nothing
End Function

Private Sub Command1_Click()
u = "http://wenku.baidu.com/search?word=vb&lm=0&od=0&fr=top_search"
Text1.Text = GetBody(u) '最好用richbox富文本框
End Sub


方法3:WinHttp

Private Sub Command4_Click()
   Set IEread = CreateObject("WinHttp.WinHttpRequest.5.1")
   CallByName IEread, "Open", VbMethod, "GET", URLaddr, True
   CallByName IEread, "Send", VbMethod
   CallByName IEread, "WaitForResponse", VbMethod
   aa = CallByName(IEread, "ResponseText", VbMethod)
   RichTextBox1.Text = aa
End Sub


方法4:'利用WebBrowser控件

Private Sub Command1_Click()
Dim strContent As String, i As Integer
Text1 = ""
For i = 0 To WebBrowser1.Document.All.length - 1
    If WebBrowser1.Document.All(i).tagName = "HTML" Then
        strContent = strContent & WebBrowser1.Document.All(i).innerHTML
    Exit For
End If
Next i
Text1 = strContent
End Sub


方法5:利用Inet控件的Execute方法

Private Sub Command5_Click()
Text1 = ""
Inet1.Execute Text2.Text, "GET"
While Inet1.StillExecuting
DoEvents
Wend
Text1.Text = Inet1.GetChunk(Len(Text1.Text))
End Sub



相关文章

vb中Msgbox函数的用法

VB中的Msgbox函数,可实现弹出窗口 作用:在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。 语法: MsgBox...

C# 菜单图标错位的解决办法

C# 菜单图标错位的解决办法

问题现象该问题出现在Windows高分屏的开发环境中,如果用到Checked功能,默认对号图标会出现错位的情况,如下图所示: 解决方案在用到菜单图标或Checked功能的菜单属性中,设置 Aut...

在Keil MDK中编译Keil C51教程

在电脑中同时要用到51和STM32开发,同时安装了Keil MDK和Keil C51。   我先安装Keil C51,再安装Keil MDK,安装在不同的目录下...

VC6.0-a.jpg

VC++6.0(windows7兼容版)下载【中/英】

Visual C++ 6.0 windows7兼容版 VC6.0安装版,完美支持Win7和Win XP系统,亲测可用,在Windows7 64位和 Wind...

PCB设计的几点经验总结

第一:前期准备。这包括准备元件库和原理图。“工欲善其事,必先利其器”,要做出一块好的板子,除了要设计好原理之外,还要画得好。在进行PCB设计之前,首先要准备好原理图SCH的元件库和PCB的元件...

C语言宏定义的用法

宏定义的用法 注意:宏定义不是函数!! 一般用来简化操作的,但又能避免函数调用那样需要进行切换环境,花费时间。例如: #define max (a,b...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。