Я пытаюсь отправить строку из одного приложения в другое. Я бы возвращал ответ, который является строкой. Здесь myhost.com/views - это второе приложение, в котором мне нужно отправить строковое значение и получить от него ответ. Но когда я пытаюсь отправить его, он не выполняет этот код. Может кто-то, пожалуйста, поправьте меня, где я ошибаюсь?Ошибка: целевой хост не должен быть пустым или задан в параметрах
Ниже приведен код, который я написал.
public static void sendData(String strval) throws IOException{
String doSend="https://myhost.com/views?strval="+strval;
HttpClient httpclient = new DefaultHttpClient();
try {
System.out.println("inside try");
URIBuilder builder = new URIBuilder();
System.out.println("builder="+builder);
builder.setHost("myhost.com").setPath("/views");
builder.addParameter("strval", strval);
System.out.println("add param,sethost,setpath complete");
URI uri = builder.build();
System.out.println("uri="+uri);
HttpGet httpget = new HttpGet(uri);
System.out.println("httpGet"+httpget);
HttpResponse response = httpclient.execute(httpget);
System.out.println(response.getStatusLine().toString());
if (response.getStatusLine().getStatusCode() == 200) {
String responseText = EntityUtils.toString(response.getEntity());
System.out.println("responseText="+responseText);
httpclient.getConnectionManager().shutdown();
} else {
System.out.println("Server returned HTTP code "
+ response.getStatusLine().getStatusCode());
}
} catch (java.net.URISyntaxException bad) {
System.out.println("URI construction error: " + bad.toString());
}
catch(Exception e){ System.out.println("e.getMessage=>"+e.getMessage()); }
}
код работает до и при печати исключений я вижу excep.getMessage() ->
java.lang.IllegalStateException: Target host must not be null, or set in parameters.
at org.apache.http.impl.client.DefaultRequestDirector.determineRoute(DefaultRequestDirector.java:789)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:414)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)
Вы можете найти список баннеров на пути к классам? Вам нужны баннеры httpclient jar и httpcore. – roby
Проблема была в версии httpcore jar, которую я использовал. версия 4.2.1 несовместима, я использовал версию 4.2.3 и работал нормально до HttpGet httpget = new HttpGet (uri); Обновлен стек исключений, поскольку я вижу другие ошибки в одном коде. – smiley