首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IdHTTP.Get未等待应答

IdHTTP.Get未等待应答
EN

Stack Overflow用户
提问于 2012-09-16 05:52:40
回答 1查看 1.9K关注 0票数 0

我对Idhttp.Get方法有一些问题。我以为它默认在阻塞模式下工作(等待答案转到下一行),但我刚刚看到它不是在等待答案转到另一行。我将其用于线程,但我认为这不是问题所在。代码是:

代码语言:javascript
复制
  IdHTTP1:= TIdHttp.Create(Application);
  IdHTTP1.ConnectTimeout:= 10000;
  IdHTTP1.Request.Clear;
  IdHTTP1.Request.BasicAuthentication:= true;
  IdHTTP1.Request.Username := Username;
  IdHTTP1.Request.Password := Password;
    try
      IdHTTP1.Get(PbxURL); **//this should STOP here and wait for answer don't?**
      HttpCode:= IdHTTP1.ResponseCode;
    except
      on E: EIdHTTPProtocolException do
        HttpCode := IdHTTP1.ResponseCode;
    end;
    if HttpCode=200 then
      Memo1.Lines.Append('Valid Get!');

所以,我只是注意到我没有得到正确的Get值,因为在‘HttpCode’方法之后,它只是继续执行,而不是等待'Get‘完成。我该如何解决这个问题??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-16 10:51:21

您说您没有获得正确的HttpCode,这意味着您正在获得一个HttpCode,这意味着Get方法已经等待了所需的时间才能获得结果。

如果您得到的响应码是301,那么您应该尝试设置HandleRedirects属性,以便它使用返回的地址自动重新发出请求。否则,您将不得不自己处理响应。

Get函数不会过早返回。你曲解了你所观察到的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12442808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档