delphi http请求返回问题

gongqs 2015-09-09 12:45:17
从一个接口地址,用户名和密码,两个参数(订单号,产品号),查询产品明细数据信息。应该要怎么写语句呀,参照网络上面的,
url:= 'http://aa.aabo.cn:8088/WebService/QRService.asmx/GetHgzForALL",{"account": "user1","password": "user123","data": [{"productCode": "010059252","quantity": "2"}]}'
jsonstr := IdHTTP.Get(url);
是哪边错了呀提示"http/1.1 400 bad request"
...全文
794 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
落单的拖鞋 2018-10-26
  • 打赏
  • 举报
回复
把网站发我,可以做个样例给你
qtc26 2018-10-23
  • 打赏
  • 举报
回复
发一个我的通用版
sendrecord=record
ord:integer;
num:string;
url:string;
host:string;
refer:string;
useragent:string;
accept:string;
myheader:string;
cookie:string;
postdata:string;
acceptencoding:string;
contenttype:string;
ProxyServer:string;
ProxyPort:integer;
image:tmemorystream;
yzm:string;
tag:string;
end;
var
send:sendrecord;
send.url:='http://aa.aabo.cn:8088/WebService/QRService.asmx/GetHgzForALL';
send.postdata:='{"account": "user1","password": "user123","data": [{"productCode": "010059252","quantity": "2"}]}'';
if (send.postdata='') and (post=false) then gethttp.Get(send.url,response)
else
begin
postd:=tstringstream.Create('');
try
postd.WriteString(send.postdata);
http.Request.ContentLength:=postd.Size;
http.post(send.url,postd,response);
finally
postd.Free;
end;
end;
直接用get应该也可以要改下格式,send.url:=send.url+'&account='+'user1'+'&password='+'user123'+...
**Dragon** 2018-10-09
  • 打赏
  • 举报
回复
这是因为接口的返回 status code : 400 ,但是你使用的 post 方法不支持这种状态的问题!你要解决的是怎么让请求支持 code = 400的返回。解决了,可以分享下,我现在也在这个坑里面。哈哈
gongqs 2015-09-09
  • 打赏
  • 举报
回复
能不能给一个示例呀。不会正在学
缘中人 2015-09-09
  • 打赏
  • 举报
回复
参考这种写法 http://blog.csdn.net/cb168/article/details/8817830
wallace_xie 2015-09-09
  • 打赏
  • 举报
回复
是webservice,没必要用http控件来获取结果,直接调用webservice就可以了。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧