从网上看到的HttpClient文章调用时在自己的项目中运行有点不对,用URL调用时不对,使用该下面的方法可以成功,httpclient使用4.3.3版本
public static DefaultHttpClient client = getClient();
//创建httpClient客户端
public static DefaultHttpClient getClient()
{
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory
.getSocketFactory()));
schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory
.getSocketFactory()));
PoolingClientConnectionManager cm = new PoolingClientConnectionManager(
schemeRegistry);
cm.setMaxTotal(200);
cm.setDefaultMaxPerRoute(20);
HttpParams params = new BasicHttpParams();
params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
return new DefaultHttpClient(cm, params);
}
--client调用方式
String url = "http:localhost:8080/";
// 4.1 获取Token
HttpGet httpget = new HttpGet(url);
System.out.println("executing request " + httpget.getURI());
// 执行get请求.
CloseableHttpResponse httpResponse = client.execute(httpget);
使用该方式通过URL调用成功
public static DefaultHttpClient client = getClient();
//创建httpClient客户端
public static DefaultHttpClient getClient()
{
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory
.getSocketFactory()));
schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory
.getSocketFactory()));
PoolingClientConnectionManager cm = new PoolingClientConnectionManager(
schemeRegistry);
cm.setMaxTotal(200);
cm.setDefaultMaxPerRoute(20);
HttpParams params = new BasicHttpParams();
params.setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
params.setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
return new DefaultHttpClient(cm, params);
}
--client调用方式
String url = "http:localhost:8080/";
// 4.1 获取Token
HttpGet httpget = new HttpGet(url);
System.out.println("executing request " + httpget.getURI());
// 执行get请求.
CloseableHttpResponse httpResponse = client.execute(httpget);
使用该方式通过URL调用成功