xe8以上版本使用
vHttp := TNetHTTPClient.Create(nil);
vList := TStringList.Create;
vS := TStringStream.Create;
try
Memo1.Lines.Add('----------------Post阻塞----------------');
vS.Clear;
with vHttp do
begin
ConnectionTimeout := 2000; // 2秒
ResponseTimeout := 10000; // 10秒
AcceptCharSet := 'utf-8';
AcceptEncoding := 'UTF-8';
AcceptLanguage := 'zh-CN';
Accept := 'application/json;';
ContentType := 'application/json; charset=utf-8;';
UserAgent := 'Embarcadero URI Client/1.0';
CustomHeaders['Authorization'] :=
'Basic ffffffffffffyfytftfghfhffffffffffffffffffffffffffffgfhgfhgf==';
try
ss := tstringstream.Create('', tencoding.UTF8);
ss.WriteString('{"mobile":"XXXXXXXX","temp_id":1}');
Post('https://api.sms.jpush.cn/v1/codes', ss, vS); // utf8进gbk出
Memo1.Lines.Add('post:' + vS.DataString);
except
on E: Exception do
Memo1.Lines.Add('post:' + E.Message);
end;
=============
INDY的方式 网上的推送消息的 这个没有试过:)
HttpClient.HandleRedirects := True;
HttpClient.Request.ContentType := 'application/json';
HttpClient.Request.BasicAuthentication := True;
HttpClient.Request.Authentication := TIdBasicAuthentication.Create;
HttpClient.Request.Authentication.Username := 'appKey';
HttpClient.Request.Authentication.Password := 'masterSecret';
messageStr :='{"platform": "all","audience" : "all","notification" : {"alert" : "Hi, JPush for delphi!","android" : {},"ios" : {"extras" : { "newsid" : 321}}}}';
jsonToSend := TStringStream.Create(messageStr, TEncoding.UTF8);
jsonToSend.Position := 0;
Memo1.Text := HttpClient.Post('https://api.jpush.cn/v3/push', jsonToSend);
【小主,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢!】