Erreur: hôte Cible ne doit pas être nulle, ou de définir dans les paramètres
J'essaie d'envoyer une chaîne de caractères à partir d'une application à l'autre. Je serais de retour à une réponse qui est une chaîne de caractères. Ici, myhost.com/views est la 2ème demande où je dois envoyer la chaîne de valeur et d'obtenir une réponse à partir d'elle. Mais quand j'essaie d'envoyer ce n'est pas l'exécution de ce code. Quelqu'un peut s'il vous plaît corrigez-moi où je me trompe?
Ci-dessous le code que j'ai écrit.
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()); }
}
Code s'exécute jusqu'à et quand j'imprime les exceptions, je vois 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)
- Vous pouvez trouver la liste des pots sur le chemin de classe? Vous avez besoin de la httpclient bocal et httpcore pots.
- Le problème était avec la version de httpcore pot que j'ai été en utilisant. version 4.2.1 est incompatible, j'ai utilisé la version 4.2.3 et il a bien fonctionné jusqu'à ce que HttpGet httpget = new HttpGet(uri); mise à Jour de la pile d'exception que je vois d'autres erreurs du même code.
Vous devez vous connecter pour publier un commentaire.
Ce code n'est pas capable de le reconnaître comme valide
URI
car il manquaithttp
. C'est ce que j'ai ajouté à résoudre le code: