怎样判断IdHTTP1.Get(url);向网站发送一个数据,是否成功?

冯飞红 2013-12-06 05:38:04
怎样判断IdHTTP1.Get(url);向网站发送一个数据,是否成功?

直接用这个,如果发送不成功,它会出个异常,HTTP/1.1 403 Forbidden。

如何才能让它发送不成功时提示是下,而不会出这个异常,程序继续运行,不让程序崩溃。
...全文
415 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
冯飞红 2013-12-09
  • 打赏
  • 举报
回复
问题解决了
冯飞红 2013-12-06
  • 打赏
  • 举报
回复
引用 1 楼 sololie 的回复:
get都能获得服务端,服务端处理完你get的请求就会返回的一个字符串,看看这个字符串的内容就可以判断了

var
  ss: TStringStream;
begin
  ss := TStringStream.Create('');
  idHTTP1.get(url, ss);
  ss.Position := 0;
  ShowMessage(ss.DataString);// 看看这个字符串的内容,根据它来判断是否成功
  ss.Free;
end;
; 不过这个异常压根就是没发成功,你用try 来包裹一下
------------------------------------------------------------- 这是我的代码,
procedure TForm1.Button1Click(Sender: TObject);
var
  ss: TStringStream;
begin
try
  ss := TStringStream.Create('');
  idHTTP1.get(url, ss) ;
  ss.Position := 0;
  ShowMessage(ss.DataString);// 看看这个字符串的内容,根据它来判断是否成功
 ss.Free;
  except
  on EConvertError do
showmessage('处理失败!');

end;
  end;
处理不成功,还是程序崩溃。
lhy 2013-12-06
  • 打赏
  • 举报
回复
http协议返回的是几零几这种数字的都是服务器端返回的,4和5打头的都是错误了,4打头说明服务器认为是你的错,5打头说明服务器认为是自己的错,403是说服务器理解了你的意思,但是这个事情不被允许执行。
sololie 2013-12-06
  • 打赏
  • 举报
回复
get都能获得服务端,服务端处理完你get的请求就会返回的一个字符串,看看这个字符串的内容就可以判断了

var
  ss: TStringStream;
begin
  ss := TStringStream.Create('');
  idHTTP1.get(url, ss);
  ss.Position := 0;
  ShowMessage(ss.DataString);// 看看这个字符串的内容,根据它来判断是否成功
  ss.Free;
end;
; 不过这个异常压根就是没发成功,你用try 来包裹一下

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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