Devolver datos a través de solicitud de descanso http
Copie el código de código de la siguiente manera:
importar org.apache.commons.logging.Log;
importar org.apache.commons.logging.LogFactory;
importar org.apache.http.NameValuePair;
importar org.apache.http.client.ClientProtocolException;
importar org.apache.http.client.HttpClient;
importar org.apache.http.client.ResponseHandler;
importar org.apache.http.client.entity.UrlEncodedFormEntity;
importar org.apache.http.client.methods.HttpGet;
importar org.apache.http.client.methods.HttpPost;
importar org.apache.http.impl.client.BasicResponseHandler;
importar org.apache.http.impl.client.DefaultHttpClient;
importar org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
importar java.io.IOException;
importar java.text.MessageFormat;
importar java.util.List;
importar java.util.concurrent.TimeUnit;
/**
* Clase de herramienta para empaquetar una solicitud http
*
* @autor Gu Wei【guwei】 el 14-4-22.3:17 pm
*/
clase pública HttpClientUtils {
Registro final estático privado = LogFactory.getLog(HttpClientUtils.class);
/**
* Inicializar HttpClient
*/
HttpClient estático privado httpClient = nulo;
/**
* Producir instancia HttpClient
* Método de fábrica público y estático, crea el singleton solo cuando sea necesario
*
* @devolver
*/
público estático HttpClient getHttpClient() {
si (httpCliente == nulo) {
httpClient = nuevo DefaultHttpClient(nuevo ThreadSafeClientConnManager());
}
devolver httpCliente;
}
/**
* Llamada al método POST
*
* URL @param
* @param params El parámetro es el objeto de par clave-valor NameValuePair
* cadena de respuesta @return
* @throws java.io.UnsupportedEncodingException
*/
cadena estática pública ejecutarByPOST (URL de cadena, lista <NameValuePair> parámetros) {
HttpClient httpclient = getHttpClient();
Publicación HttpPost = nueva HttpPost (url);
ResponseHandler<String> ResponseHandler = nuevo BasicResponseHandler();
Cadena respuestaJson = nulo;
intentar {
si (parámetros! = nulo) {
post.setEntity (nueva UrlEncodedFormEntity (parámetros));
}
respuestaJson = httpclient.execute(publicación, ResponseHandler);
log.info("Resultado de la solicitud POST de HttpClient: " + respuestaJson);
} captura (ClientProtocolException e) {
e.printStackTrace();
log.info("Excepción de solicitud POST de HttpClient: " + e.getMessage());
} captura (IOException e) {
e.printStackTrace();
} finalmente {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
respuesta de devolución Json;
}
/**
* Obtener solicitud de método
*
* @param URL URL con marcador de posición de parámetro, por ejemplo: http://****/User/user/center.aspx?_action=GetSimpleUserInfo&codes={0}&email={1}
* Matriz de valores de parámetros @param params, que debe corresponder al orden de los marcadores de posición en la URL
* cadena de respuesta @return
* @throws java.io.UnsupportedEncodingException
*/
cadena estática pública ejecutarByGET (URL de cadena, parámetros de objeto []) {
HttpClient httpclient = getHttpClient();
Mensajes de cadena = MessageFormat.format(url, params);
HttpGet get = nuevo HttpGet(mensajes);
ResponseHandler<String> ResponseHandler = nuevo BasicResponseHandler();
Cadena respuestaJson = nulo;
intentar {
respuestaJson = httpclient.execute(get,respuestaHandler);
log.info("Resultado de la solicitud HttpClient GET: " + respuestaJson);
} captura (ClientProtocolException e) {
e.printStackTrace();
log.info("Excepción de solicitud GET de HttpClient: " + e.getMessage());
} captura (IOException e) {
e.printStackTrace();
log.info("Excepción de solicitud GET de HttpClient: " + e.getMessage());
} finalmente {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
respuesta de devolución Json;
}
/**
* URL @param
* @devolver
*/
Cadena estática pública ejecutarByGET (URL de cadena) {
HttpClient httpclient = getHttpClient();
HttpGet get = nuevo HttpGet(url);
ResponseHandler<String> ResponseHandler = nuevo BasicResponseHandler();
Cadena respuestaJson = nulo;
intentar {
respuestaJson = httpclient.execute(get,respuestaHandler);
log.info("Resultado de la solicitud HttpClient GET: " + respuestaJson);
} captura (ClientProtocolException e) {
e.printStackTrace();
log.info("Excepción de solicitud GET de HttpClient: " + e.getMessage());
} captura (IOException e) {
e.printStackTrace();
log.info("Excepción de solicitud GET de HttpClient: " + e.getMessage());
} finalmente {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
respuesta de devolución Json;
}
}