Java DefaultHttpClient在多个请求上保持活动连接
我使用DefaultHttpClient通过基本身份验证向同一URL发出许多请求 大概是这样的:Java DefaultHttpClient在多个请求上保持活动连接,java,apache-httpclient-4.x,Java,Apache Httpclient 4.x,我使用DefaultHttpClient通过基本身份验证向同一URL发出许多请求 大概是这样的: for (String json: listOfItems) { DefaultHttpClient client = new DefaultHttpClient(); try { client.getCredentialsProvider().setCredentials( new AuthScope(A
for (String json: listOfItems)
{
DefaultHttpClient client = new DefaultHttpClient();
try
{
client.getCredentialsProvider().setCredentials(
new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM, "basic"),
new UsernamePasswordCredentials(user, pass));
HttpPost request = new HttpPost(path);
setHeaders(request);
StringEntity se = new StringEntity(json, HTTP.UTF_8);
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
request.setEntity(se);
client.execute(request);
}
finally
{
// close/release connection
client.getConnectionManager().shutdown();
}
}
我的问题是,在这样做的同时,保持连接的最佳方式是什么。
因此,我不需要在每次post请求时关闭连接。您可能需要添加Socket\u Timeout参数并实现KeepAlive策略,这在这里有详细说明-