Возврат данных через HTTP-запрос на отдых
Скопируйте код кода следующим образом:
импортировать org.apache.commons.logging.Log;
импортировать org.apache.commons.logging.LogFactory;
импортировать org.apache.http.NameValuePair;
импортировать org.apache.http.client.ClientProtocolException;
импортировать org.apache.http.client.HttpClient;
импортировать org.apache.http.client.ResponseHandler;
импортировать org.apache.http.client.entity.UrlEncodedFormEntity;
импортировать org.apache.http.client.methods.HttpGet;
импортировать org.apache.http.client.methods.HttpPost;
импортировать org.apache.http.impl.client.BasicResponseHandler;
импортировать org.apache.http.impl.client.DefaultHttpClient;
импортировать org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
импортировать java.io.IOException;
импортировать java.text.MessageFormat;
импортировать java.util.List;
импортировать java.util.concurrent.TimeUnit;
/**
* Класс инструмента для упаковки HTTP-запроса.
*
* @author Гу Вэй【guwei】 в 14-4-22.3:17
*/
общественный класс HttpClientUtils {
частный статический окончательный журнал журнала = LogFactory.getLog(HttpClientUtils.class);
/**
* Инициализировать HttpClient
*/
частный статический HttpClient httpClient = null;
/**
* Создание экземпляра HttpClient.
* Публичный статический фабричный метод, создавайте синглтон только при необходимости.
*
* @возвращаться
*/
общественный статический HttpClient getHttpClient() {
если (httpClient == null) {
httpClient = новый DefaultHttpClient (новый ThreadSafeClientConnManager());
}
вернуть httpClient;
}
/**
*Вызов метода POST
*
* @парам URL
* @param params Параметр представляет собой объект пары ключ-значение NameValuePair.
* @return строка ответа
* @throws java.io.UnsupportedEncodingException
*/
public static String ExecuteByPOST (URL-адрес строки, параметры List<NameValuePair>) {
HttpClient httpclient = getHttpClient();
Сообщение HttpPost = новый HttpPost (url);
ResponseHandler<String> responseHandler = новый BasicResponseHandler();
Строка ответаJson = ноль;
пытаться {
если (параметры != ноль) {
post.setEntity(новый UrlEncodedFormEntity(params));
}
responseJson = httpclient.execute(post, responseHandler);
log.info("Результат POST-запроса HttpClient: " + responseJson);
} catch (ClientProtocolException e) {
е.printStackTrace();
log.info("Исключение запроса POST HttpClient: " + e.getMessage());
} catch (IOException e) {
е.printStackTrace();
} окончательно {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
вернуть ответJson;
}
/**
* Получить запрос метода
*
* URL-адрес @param с заполнителем параметра, например: http://****/User/user/center.aspx?_action=GetSimpleUserInfo&codes={0}&email={1}
* Массив значений параметров @param params, который должен соответствовать порядку заполнителей в URL-адресе.
* @return строка ответа
* @throws java.io.UnsupportedEncodingException
*/
public static String ExecuteByGET (String url, Object [] params) {
HttpClient httpclient = getHttpClient();
Строковые сообщения = MessageFormat.format(url, params);
HttpGet get = новый HttpGet (сообщения);
ResponseHandler<String> responseHandler = новый BasicResponseHandler();
Строка ответаJson = ноль;
пытаться {
responseJson = httpclient.execute(get, responseHandler);
log.info("Результат запроса HttpClient GET: " + responseJson);
} catch (ClientProtocolException e) {
е.printStackTrace();
log.info("Исключение запроса HttpClient GET: " + e.getMessage());
} catch (IOException e) {
е.printStackTrace();
log.info("Исключение запроса HttpClient GET: " + e.getMessage());
} окончательно {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
вернуть ответJson;
}
/**
* @парам URL
* @возвращаться
*/
общедоступная статическая строка выполненияByGET (URL-адрес строки) {
HttpClient httpclient = getHttpClient();
HttpGet get = новый HttpGet (url);
ResponseHandler<String> responseHandler = новый BasicResponseHandler();
Строка ответаJson = ноль;
пытаться {
responseJson = httpclient.execute(get, responseHandler);
log.info("Результат запроса HttpClient GET: " + responseJson);
} catch (ClientProtocolException e) {
е.printStackTrace();
log.info("Исключение запроса HttpClient GET: " + e.getMessage());
} catch (IOException e) {
е.printStackTrace();
log.info("Исключение запроса HttpClient GET: " + e.getMessage());
} окончательно {
httpclient.getConnectionManager().closeExpiredConnections();
httpclient.getConnectionManager().closeIdleConnections(30, TimeUnit.SECONDS);
}
вернуть ответJson;
}
}