1

使用 HttpClient,我使用以下内容设置默认套接字/连接超时:

HttpParams params = new BasicHttpParams();

HttpConnectionParams.setSoTimeout(params, 30000);
HttpConnectionParams.setConnectionTimeout(params, 30000);

mClient = new DefaultHttpClient(connectionManager, params);

我想知道是否可以根据每个请求覆盖这些值?

编辑:这行得通吗?

HttpParams params = req.getParams(); // req is an HttpRequest object
HttpConnectionParams.setSoTimeout(params, 60000);
HttpConnectionParams.setConnectionTimeout(params, 60000);

我试过了,似乎可以,但是很难测试/创建会发生超时的情况。

4

2 回答 2

2

如果您使用的是 HttpClient 4.0,您可以这样做:

mClient = new DefaultHttpClient(connectionManager, params) {
  protected HttpParams determineParams(HttpRequest req) {
    //Fill in your impl here
 }
于 2010-06-09T05:58:16.207 回答
2

您可以简单地在请求对象上设置这些参数。详情见: http ://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e391

于 2010-06-09T21:55:29.337 回答