用下面的函数,去发送下面的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
而是京东网站接口要求用post方式。