Nom d'hôte ne peut pas être null dans HttpResponse exécuter pour android
J'obtiens l'erreur "hôte Cible ne doit pas être nul, ou un ensemble de paramètres".
- Je NE Internet de l'autorisation dans mon fichier de manifeste
- J'ai mis "http://" devant l'adresse de ma page
- Je NE encoder l'URL
C'est mon code:
String url = "http://maps.google.com/maps/api/directions/json?origin=1600 Pennsylvania Avenue NW, Washington, DC 20500&destination=1029 Vermont Ave NW, Washington, DC 20005&sensor=false";
HttpClient httpclient = new DefaultHttpClient();
String goodURL = convertURL(url);//change weird characters for %etc
HttpPost httppost = new HttpPost(goodURL);
HttpResponse response = httpclient.execute(httppost);
À la 5ème ligne (dernière ligne ci-dessus), mon programme déclenche une exception. là est l'erreur exacte:
java.lang.IllegalArgumentException: Host name may not be null
Je Ne coder mon string dans la méthode convertURL...
goodURL= http://maps.google.com/maps/api/directions/json?origin=3%20Cedar%20Ave%2c%20Highland%20Park%2c%20NJ%2008904&destination=604%20Bartholomew%20Road%2c%20Piscataway%2c%20New%20Jersey%2008854&sensor=false
Des suggestions?
Merci!
source d'informationauteur cafesanu | 2012-09-21
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de ce que votre URL méthode encode est en train de faire, mais si vous utilisez une méthode dans le cadre comme
URLEncoder
vous ne devriez jamais passer l'URL complètejuste la liste des paramètres que vous devrez encoder pour échapper les caractères spéciaux.L'encodage de l'URL complète sera pour cent échapper tous les caractères, y compris les
://
en%3A%2F%2F
et toutes les autres barres obliques dans%2F
.Prendre un coup d'oeil à la valeur de votre
goodUrl
chaîne après l'encodage.Suffit d'utiliser:
Encoder votre chaîne d'URL avant de valider la demande, mais seulement coder les paramètres après l' ?: