Retornar dados via solicitação de descanso http
Copie o código do código da seguinte forma:
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;
/**
* Classe de ferramenta para empacotar uma solicitação http
*
* @autor Gu Wei【guwei】 em 14-4-22.3h17
*/
classe pública HttpClientUtils {
log de log final estático privado = LogFactory.getLog (HttpClientUtils.class);
/**
* Inicialize HttpClient
*/
private static HttpClient httpClient = null;
/**
* Produzir instância HttpClient
* Método de fábrica público e estático, crie o singleton somente quando necessário
*
* @retornar
*/
public static HttpClient getHttpClient() {
if (httpClient == null) {
httpClient = new DefaultHttpClient(new ThreadSafeClientConnManager());
}
retornar httpCliente;
}
/**
*Chamada do método POST
*
*@paramurl
* @param params O parâmetro é o objeto do par chave-valor NameValuePair
* @return string de resposta
* @throws java.io.UnsupportedEncodingException
*/
public static String executeByPOST(String url, List<NameValuePair> params) {
HttpClient httpclient = getHttpClient();
Postagem HttpPost = novo HttpPost(url);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String respostaJson = null;
tentar {
if (parâmetros! = nulo) {
post.setEntity(novo UrlEncodedFormEntity(params));
}
respostaJson = httpclient.execute(post,responseHandler);
log.info("Resultado da solicitação HttpClient POST: " + responseJson);
} catch (ClientProtocolException e) {
e.printStackTrace();
log.info("Exceção de solicitação HttpClient POST: " + e.getMessage());
} catch (IOException e) {
e.printStackTrace();
} finalmente {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
retornar respostaJson;
}
/**
* Obter solicitação de método
*
* URL de url @param com espaço reservado para parâmetro, por exemplo: http://****/User/user/center.aspx?_action=GetSimpleUserInfo&codes={0}&email={1}
* @param matriz de valor do parâmetro params, que precisa corresponder à ordem dos espaços reservados na URL
* @return string de resposta
* @throws java.io.UnsupportedEncodingException
*/
public static String executeByGET(String url, Object[] params) {
HttpClient httpclient = getHttpClient();
String mensagens = MessageFormat.format(url, params);
HttpGet get = new HttpGet(mensagens);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String respostaJson = null;
tentar {
respostaJson = httpclient.execute(get,responseHandler);
log.info("Resultado da solicitação HttpClient GET: " + responseJson);
} catch (ClientProtocolException e) {
e.printStackTrace();
log.info("Exceção de solicitação HttpClient GET: " + e.getMessage());
} catch (IOException e) {
e.printStackTrace();
log.info("Exceção de solicitação HttpClient GET: " + e.getMessage());
} finalmente {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
retornar respostaJson;
}
/**
*@paramurl
* @retornar
*/
string estática pública executeByGET(String url) {
HttpClient httpclient = getHttpClient();
HttpGet get = novo HttpGet(url);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String respostaJson = null;
tentar {
respostaJson = httpclient.execute(get,responseHandler);
log.info("Resultado da solicitação HttpClient GET: " + responseJson);
} catch (ClientProtocolException e) {
e.printStackTrace();
log.info("Exceção de solicitação HttpClient GET: " + e.getMessage());
} catch (IOException e) {
e.printStackTrace();
log.info("Exceção de solicitação HttpClient GET: " + e.getMessage());
} finalmente {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
retornar respostaJson;
}
}