当前位置: 首页 > 面试题库 >

Android:AndroidHttpClient-如何设置超时时间?

寿亦
2023-03-14
问题内容

我已经按照kuester2000的回答进行了操作,但是我的超时设置似乎不起作用。

try
{
    int timeout = 3000;
    URL myURL = //some valid URL

    AndroidHttpClient = AndroidHttpClient.newInstance("name");
    HttpGet httpGet = new HttpGet(myURL.toExternalForm());

    HttpParams httpParams = new BasicHttpParams();
    HttpConnectionParams.setConnectionTimeout(httpParams, timeout);
    HttpConnectionParams.setSoTimeout(httpParams, timeout);

    HttpResponse response = httpClient.execute(httpGet);

    //...
}
catch (SocketTimeoutException e)
{
    e.printStackTrace();
}
catch (ConnectTimeoutException e)
{
    e.printStackTrace();
}
catch (IOException e)
{
    e.printStackTrace();
}
//...

但是,超时值不变。

在我链接的答案中,它还说:

连接超时抛出“ java.net.SocketTimeoutException:套接字未连接”,套接字超时抛出“
java.net.SocketTimeoutException:操作超时”。

但是我都没有。相反,我收到“ org.apache.http.conn.ConnectTimeoutException:连接到…超时”

有人可以帮我吗?错误在哪里?


问题答案:

确实没有 将参数附加到我的http请求上,但是在我的示例中执行此操作的正确方法是

httpGet.setParams(httpParams);

调用httpClient.execute(httpGet)之前。

只需添加该行,它就可以正常工作。



 类似资料:
  • 我有一个TcpClient,用于将数据发送到远程计算机上的侦听器。远程计算机有时打开,有时关闭。因此,TCP客户端将经常无法连接。我希望TcpClient在一秒钟后超时,这样当它无法连接到远程计算机时就不会花费太多时间。目前,我对TcpClient使用以下代码: 这对于处理任务来说已经足够好了。如果可以,它会发送它,如果无法连接到远程计算机,它会捕获异常。然而,当它无法连接时,抛出异常需要10到1

  • 当微服务处理业务逻辑时间过长,网关会报超时错误,默认等待时间是5秒。 可在网关指定spring.cloud.gateway.httpclient.response-timeout参数设置超时时间,单位毫秒 # 设置响应超时10秒 spring.cloud.gateway.httpclient.response-timeout=10000 更多配置参见:org.springframework.cl

  • <?php $http = HttpRequest::newSession(); $response = $http->timeout(3000, 1000) // 总时间不得超过3秒,连接时间不得超过1秒 ->get('https://www.baidu.com/'); $content = $response->body(); // 网页源码

  • 问题内容: 在selenium测试中,您可以使用 如何为selenium版本 3.8.0 和python 2.7.12 设置此命令的超时? 问题答案: 为设置 为 可以诱导 。 方法细节 精氨酸 用法 例 控制台输出 文献资料 您可以在 此处找到详细的讨论 深潜 按照Python, 如果我们不处理异常,则会观察到以下日志消息:

  • 我的程序应该使用多线程运行很长时间。我需要为线程设置超时的能力,一旦线程终止,我想重新启动它。这是我的代码:

  • 问题内容: 我org.springframework.ws.client.core.WebServiceTemplate用于拨打Web服务。如何为通话配置超时。 问题答案: 如果你使用的是Spring Webservices 2.1.0版本,则可以使用HttpComponentsMessageSender设置超时。 Spring不推荐使用CommonsHttpMessageSender,因此不再推