开发环境:Delphi 10.4.2
短信平台:创瑞云
群发短信时,用post请求的方式去发起请求,参数以json字符串的形式进行传递,请求不成功,返回数据是:{"code":"9006","msg":"用户身份验证失败","batchId":""}
检查参数,参数正确
在postman上发送json格式的数据,返回同样的错误
常见的POST请求提交数据的编码方式有三种
- application/x-www-form-urlencoded
- multipart/form-data
- application/json
用json失败后,试着用了form-data的数据编码方式,请求成功
但是代码里面要怎么传数据我不会
后面经过网上查询,提交的数据要按照 key1=value1&key2=value2的方式进行编码,返回的数据以TStringStream的形式返回。
WinHttp.Request.ContentType:='application/x-www-form-urlencoded;charset=utf-8';
MessString:=Format('accesskey=%s&secret=%s&sign=%s&mobile=%s&content=%s',[acceskey,secret,sign,mobile,content]);
WinHttp.post('http://api.1cloudsp.com/api/v2/send?',MessString,RetStream);