利用client获取外链接口

来源:互联网 发布:windows nginx重启 编辑:程序博客网 时间:2024/04/29 16:42

在serviceImpl.java添加以下代码:

public static final String ENCODING="UTF-8";

public static String doInvoke(String uri, String postContent, long timeOut) throws IOException{
HttpUriRequest method = null;

HttpPost postMethod = new HttpPost(uri);
method = postMethod;
postMethod.setEntity(new ByteArrayEntity(postContent.getBytes(ENCODING)));

String result = null;
HttpClient client = new DefaultHttpClient();
try {
HttpParams params = client.getParams();
HttpConnectionParams.setConnectionTimeout(params, (int) timeOut);
HttpConnectionParams.setSoTimeout(params, (int) timeOut);
HttpResponse response = client.execute(method);
method.addHeader("Content-Type","application/x-www-form-urlencoded");
method.addHeader("Accept-Language", "zh-cn");
method.addHeader("Accept-Encoding", "gzip, deflate");
if(response.getStatusLine().getStatusCode() !=200){
throw new java.net.ConnectException("response code "+response.getStatusLine().getStatusCode()+" for URL "+uri);
}
HttpEntity entity = response.getEntity(); 
 if (entity != null) {  
 result = EntityUtils.toString(entity);  
           }  
}catch (IOException ex) {
throw ex;
} finally {
client.getConnectionManager().shutdown();  
}
return result;
}

//用法

public static String findOrgs(String orgCode){
String json=
"{" +
"\"head\":{" +
"\"fromAppid\":\"CMS\"," +
"\"password\":\"123456\"," +
"\"skip\":0" +
"}," +
"\"content\":{" +
"\"orgCode\":\""+orgCode+"\"" +
"}" +
"}";

try {
return doInvoke("http://192.168.0.136:80/party/interface/findOrgs",json,30000);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}


0 0
原创粉丝点击