天天看點

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庫)

繼續閱讀