TIdHTTP的get函数对字符串有长度限制呢?

披着虎皮的石头 2013-07-17 05:36:14

用下面的函数,去发送下面的URL,以get函数发出去出现错误提示。
而用post方式发出去,就正常,是不是TIdHTTP的get函数对字符串有长度限制呢?

//根据URl,发送Http get请求,得到Xml的对象或String的通用函数
function getReturn(urlStr :string; RtlType :String; var XmlDoc :TXmlDocument; var Rlt_Str :String) :Boolean;
var IdHTTP1 :TIdHTTP; RtnStream :TMemoryStream;
begin
Result :=false;

IdHTTP1 :=Tidhttp.Create(nil);

try
with IdHTTP1 do begin
Request.Accept :='text/html, */*';
Request.ContentLength :=0;
Request.ContentRangeEnd :=0;
Request.ContentRangeStart :=0;
Request.UserAgent :='Mozilla/3.0 (compatible; Indy Library)';
end;

try
RtnStream :=TMemoryStream.Create;
IdHTTP1.get(urlStr, RtnStream);

Rlt_Str :=StreamToStr(RtnStream); //得到string
except
on E: Exception do begin
Msg(e.Message, 0, 0); RtnStream.free; idhttp1.Disconnect; idhttp1.Free; Exit;
end;
end;
finally
RtnStream.free; idhttp1.Disconnect; idhttp1.Free;
end;

Result :=true;
end;
URL的例子:
http://ssdd.buy.com/routerjson?access_token=XXXXXXXXXXBBBBBBBBBBBBBBBBBBB7c&
app_key=XXXXXXX1AAAAAAAAAAAAAAAAAAAAA5&method=360buy.order.search×tamp=2013-07-17%2013:33:52&v=2.0&
360buy_param_json="end_date":"2013-07-17 13:33:52","fields":"order_id","method":"360buy.order.search",
"order_state":"WAIT_SELLER_STOCK_OUT","page_size":"100","page":"1","start_date":"2013-07-07 13:33:52"&
sign=43D2A6CC93495282A6F18BA8E66BFCCB
...全文
148 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
或许不是get方法的问题。 而是京东网站接口要求用post方式。

5,927

社区成员

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

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