У меня есть образ EC2, на котором запущена служба REST, доступная по URL. Вот что я сделал:
ssh -i <ec2-certificate> D port user@ec2-host
- Настройте прокси-сервер в браузере Firefox и введите URL-адрес
http://ec2-host:port/demo/workflow/lists/demo_workflow
Работает нормально.
Теперь мне нужно отправить метод GET с помощью Java-программы; ниже мой код:
HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("http://ec2-host:port/demo/workflow/lists/demo_workflow");
HostConfiguration config = client.getHostConfiguration();
config.setProxy(proxyHost, port);
client.setHostConfiguration(config);
try {
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK) {
String response = method.getResponseBodyAsString();
System.out.println("Response = " + response);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
}
Но теперь я сталкиваюсь с исключениями ниже. Любые советы?
010-08-11 16: 46: 34,781 ИНФОРМАЦИЯ
[HttpMethodDirector] Исключение ввода-вывода
(Org.apache.commons.httpclient.NoHttpResponseException)
при обработке запроса:
сервер 184.72.46.209 не смог ответить
2010-08-11 16: 46: 34,781 ИНФОРМАЦИЯ
[HttpMethodDirector] Повторная попытка
org.apache.commons.httpclient.NoHttpResponseException:
Серверу [ec2-host] не удалось
ответить на
org.apache.commons.httpclient.HttpMethodBase.readStatusLine (HttpMethodBase.java:1976)
в
org.apache.commons.httpclient.HttpMethodBase.readResponse (HttpMethodBase.java:1735)
в
org.apache.commons.httpclient.HttpMethodBase.execute (HttpMethodBase.java:1098)
в
org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry (HttpMethodDirector.java:398)
в
org.apache.commons.httpclient.HttpMethodDirector.executeMethod (HttpMethodDirector.java:171)
в
org.apache.commons.httpclient.HttpClient.executeMethod (HttpClient.java:397)
в
org.apache.commons.httpclient.HttpClient.executeMethod (HttpClient.java:323)
в .... [где мой код бросает
исключение при вызове
client.executeMethod (конфигурации)] * * +1023