一个项目需要使用TNetHTTPClient带头,提交Json数据。摸索一天之后调试成功,记录一下,以便今后查阅。如果朋友有更好的方法请不吝赐教。具体代码如下:
uses System.Net.URLClient,System.Net.HttpClient;
function HttpPost(Url: String;token,JsonStr:string): String;
var
NetHttp: TNetHTTPClient;
ParmList,TmpSS: TStringStream;
begin
Result := '';
NetHttp := TNetHTTPClient.Create(nil);
ParmList := TStringStream.Create(JsonStr, TEncoding.UTF8);
ParmList.Position :=0;
TmpSS := TStringStream.Create('', TEncoding.UTF8);
TmpSS.Position :=0;
try
NetHttp.ConnectionTimeout := 10000;
NetHttp.ResponseTimeout := 20000;
NetHttp.CustomHeaders['token'] := token;
NetHttp.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36';
NetHttp.ContentType := 'application/json; charset=utf-8;';
NetHttp.Post(Url, ParmList, TmpSS);
Result := Trim(TmpSS.DataString);
finally
FreeAndNil(NetHttp);
FreeAndNil(ParmList);
FreeAndNil(TmpSS);
end;
end;
