POST http://www.xxxxxx.com/3/cgi/send_code HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 25
appid: 198300818
sid: 8217AF346F46A7C3C8BAFF606182D7D6
sig: ZlrFC7w1pRNgEqzHTtPEWwbuWLg
Smdevicefp: 20190308145740b39a96903f9434fec35371d467fa2d2401963422b7fbd9c0
User-Agent: Dalvik/2.1.0 (Linux; U; Android 6.0.1; HUAWEI RIO-AL00 Build/HuaweiRIO-AL00)
Host: www.xxxx.com
Connection: Keep-Alive
Accept-Encoding: gziptype=1&name=8613286888199
提示:{"msg":"参数错误","ret":65532}
 idhttp1.Request.ContentType:='application/x-www-form-urlencoded; charset=UTF-8';
 RStream:=TStringStream.Create('type=1&name=8613286888199');
  edit1.Text:=IdHTTP1.Post('http://www.xxxxx.com/3/cgi/send_code',RStream);  

解决方案 »

  1.   

    type=1&name=8613286888199你确定这是用post提交而不是get?
      

  2.   

    这个必须确定是post
      

  3.   

    看起来应该要用json格式的参数吧
      

  4.   

    IdHTTP1 有问题, 之前碰到一个和java后台交互时候, urlDecode 会出现未解码的情况
    详情: https://blog.csdn.net/pzx521521/article/details/80405783可以先用PostMan/ cUrl 测试一下是不是delphi的原因,
    是就用原生的IXMLHTTPRequest
    不是就检查传参吧
      

  5.   

     idhttp1.Request.ContentType:='application/x-www-form-urlencoded; charset=UTF-8';
    RStream.add('type=1');
    RStream.add('name=8613286888199');
    //post 方法应该这样传递参数吧
      edit1.Text:=IdHTTP1.Post('http://www.xxxxx.com/3/cgi/send_code',RStream);  
      

  6.   

    先检查正常的headers有没有特殊要求