天天看點

httpclient-4.X設定連接配接逾時

httpclient是很好的http連接配接工具包。(請注意,這裡的httpclient不是apache-commons的httpclient,兩者千萬不要弄混了)

import static org.junit.Assert.*;

import java.io.IOException;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.junit.Test;

public class HttpTest {
	
	@Test
	public void test() {
		HttpGet get = new HttpGet("http://www.baidu.com/");
		HttpClient client = new DefaultHttpClient();
		
		HttpParams params = client.getParams();
		HttpConnectionParams.setConnectionTimeout(params, 5000);
		HttpConnectionParams.setSoTimeout(params, 10000);
		
		HttpResponse response;
		try {
			response = client.execute(get);
			int statusCode = response.getStatusLine().getStatusCode();
			assertEquals(200, statusCode);
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
           

在上面的例子中,設定了連接配接逾時時間以及讀取相應的逾時時間。