天天看点

VB6、TwinBasic、Delphi调用SystemNetLib访问网络(基于Curl库)

作者:vb6plus

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

运行结果

VB6、TwinBasic、Delphi调用SystemNetLib访问网络(基于Curl库)

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;

运行结果

VB6、TwinBasic、Delphi调用SystemNetLib访问网络(基于Curl库)

TwinBasic例子

Dim tNet As HTTPClient

Set tNet = New HTTPClient()

Text1.Text = tNet.Get("https://www.baidu.com/")

Set tNet = Nothing

运行结果

VB6、TwinBasic、Delphi调用SystemNetLib访问网络(基于Curl库)

继续阅读