delphi中IdHTTP在post数据出现异常"HTTP/1.0 999 OK"

function TForm1.Gettoken:string;
var
Aurl:string;
ResponseStream: TStringStream;  //返回信息
RequestList : TStringList;     //请求信息
begin
try
IdHTTP1.Request.ContentType :='text/xml';
Aurl:='http://webapi.cninfo.com.cn/api-cloud-platform/oauth2/token';
ResponseStream := TStringStream.Create('');
RequestList := TStringList.Create;
RequestList.Add('grant_type=client_credentials');
RequestList.Add('client_id=010023');
RequestList.Add('client_secret=1230456');
IdHTTP1.Post(Aurl,RequestList,ResponseStream); //执行到这里会出现异常"HTTP/1.0 999 OK".
RESULT:=ResponseStream.DataString;
finally
  freeandnil(ResponseStream);
  freeandnil(RequestList);
end;
end;

用的是Delphi2010
请各位帮看一下是什么问题!异常"HTTP/1.0 999 OK"是什么意思?谢谢!

加入传输压缩组件: TIdCompressorZLib 应该就可以了。

procedure TForm1.TestClick(Sender: TObject);
var
  Aurl:string;
  zip: TIdCompressorZLib;
  ResponseStream: TStringStream;  //返回信息
  RequestList : TStrings;     //请求信息
begin
  try
    zip := TIdCompressorZLib.Create(IdHTTP1);
    IdHTTP1.Compressor := zip;
    IdHTTP1.Request.ContentType :='application/x-www-form-urlencoded';
    IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; W…) Gecko/20100101 Firefox/61.0';
    Aurl:='http://webapi.cninfo.com.cn/api-cloud-platform/oauth2/token';
    ResponseStream := TStringStream.Create('',TEncoding.UTF8);
    RequestList := TStringList.Create;
    RequestList.Add('grant_type=client_credentials');
    RequestList.Add('client_id=010023');
    RequestList.Add('client_secret=1230456');
    IdHTTP1.Post(Aurl,RequestList,ResponseStream); //执行到这里会出现异常"HTTP/1.0 999 OK".
    ShowMessage(ResponseStream.DataString);
  finally
    freeandnil(ResponseStream);
    freeandnil(RequestList);
    freeandnil(zip);
  end;
end;


测试了下,返回如下:
{"error":"invalid_client","error_description":"客户端
小蜜蜂论坛回帖机验证失败,如错误的client_id/client_secret。"}

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

netyou

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值