VB6、TwinBasic、Delphi调用SystemNetLib访问网络(基于Curl库)
HTTPClient对象(SystemNetLib.dll的Com库对象)
说明
HTTP请求对象,支持Get/Post请求。
基于Curl库,用Get/Post方法请求网址,返回内容。
支持http和https协议。
支持gzip、deflate、br自动解压
持续使用内存会不断增长,达到一定峰值后不会继续增长,使用完后内存自动回收
支持返回响应头
支持设置超时时间
Get函数
参数
URL:网址,支持http和https
RequestHeaders:向网址发起的请求头
ResponseHeaders:请求后得到的响应头
IsUTF8:是否是UTF8编码。0-非UTF8编码,1-UTF8字符
ConnectTimeOut:连接超时时间,单位秒
TimeOut:总超时时间,单位秒
ResponseAutoDecode:是否自动解码返回内容。比如IsUTF8=1时,自动将UTF8结果字符解码为Unicode字符
Post函数
参数
URL:网址,支持http和https
PostDatas:请求内容
RequestHeaders:向网址发起的请求头
ResponseHeaders:请求后得到的响应头
IsUTF8:是否是UTF8编码。0-非UTF8编码,1-UTF8字符
ConnectTimeOut:连接超时时间,单位秒
TimeOut:总超时时间,单位秒
PostDataAutoEncode:是否自动编码请求内容。比如IsUTF8=1时,自动将Unicode请求字符转码为UTF8字符
ResponseAutoDecode:是否自动解码返回内容。比如IsUTF8=1时,自动将UTF8结果字符解码为Unicode字符
VB6示例
Dim Client As HTTPClient
Set Client = New HTTPClient
txtLog.Text = Client.Get("https://www.baidu.com/")
Set Client = Nothing
运行结果
Delphi例子
procedure TForm1.Button1Click(Sender: TObject);
var
tNet:HTTPClient;
ResponseHeaders:WideString;
begin
Button1.Enabled:=False;
tNet:=CoHTTPClient.Create();
Memo1.Text:=tNet.Get('https://www.baidu.com/','',ResponseHeaders,1,5,60,1);
tNet:=nil;
Button1.Enabled:=True;
end;
运行结果
TwinBasic例子
Dim tNet As HTTPClient
Set tNet = New HTTPClient()
Text1.Text = tNet.Get("https://www.baidu.com/")
Set tNet = Nothing
运行结果