基于Curl库,用Get方法异步得到指定网址的页面源码。支持http和https协议。支持gzip、deflate、br自动解压持续利用内存会不断增长,达到一定峰值后不会连续增长,利用完后内存自动回收支持返回相应头支持设置超时时间
参数
HTTPClient_Asyn_New CurlConn:Curl连接工具

HTTPClient_Asyn_GetCurlConn:Curl连接工具URL:网址,支持http和httpsRequestHeaders:向网址发起的要求头IsUTF8:是否是UTF8编码。0-非UTF8编码,1-UTF8字符ConnectTimeOut:连接超时时间,单位秒TimeOut:总超时时间,单位秒ResponseAutoDecode:是否自动解码返回内容。比如IsUTF8=1时,自动将UTF8结果字符解码为Ansi字符
HTTPClient_Asyn_IsFinishCurlConn:Curl连接工具
HTTPClient_Asyn_GetResponseCurlConn:Curl连接工具ResponseHeaders:要求后得到的相应头
HTTPClient_Asyn_FreeCurlConn:Curl连接工具
引用
Public Declare Function HTTPClient_Asyn_New Lib "VB6Net.dll" (ByRef CurlConn As Long) As StringPublic Declare Function HTTPClient_Asyn_Get Lib "VB6Net.dll" (ByRef CurlConn As Long, ByRef URL As String, Optional ByRef RequestHeaders As String = "", Optional ByVal IsUTF8 As Integer = 1, Optional ByVal ConnectTimeOut As Integer = 5, Optional ByVal TimeOut As Integer = 60, Optional ByVal ResponseAutoDecode As Integer = 1) As StringPublic Declare Function HTTPClient_Asyn_IsFinish Lib "VB6Net.dll" (ByRef CurlConn As Long) As BooleanPublic Declare Function HTTPClient_Asyn_GetResponse Lib "VB6Net.dll" (ByRef CurlConn As Long, Optional ByRef ResponseHeaders As String = "") As StringPublic Declare Sub HTTPClient_Asyn_Free Lib "VB6Net.dll" (ByRef CurlConn As Long)
示例
StrResult = HTTPClient_Asyn_New(CurlConn)
If StrResult = "OK" Then
StrResult = HTTPClient_Asyn_Get(CurlConn, "https://www.baidu.com/")
If StrResult = "OK" Then
Do While HTTPClient_Asyn_IsFinish(CurlConn) = False
DoEvents
Loop
StrResult = HTTPClient_Asyn_GetResponse(CurlConn, ResponseHeaders)
End If
HTTPClient_Asyn_Free CurlConn
End If
Text2.Text = StrResult
例子
运行结果