Android Volley MalformedURLException Bad URL
après avoir fait une deuxième requête réseau en utilisant Volley, j'ai toujours cette erreur. Il ne semble pas d'importance ce que l'url que je mets est. Volley affirme toujours qu'il est malformé.
08-04 20:16:26.885 14453-14470/com.thredup.android E/Volley﹕ [994] NetworkDispatcher.run: Unhandled exception java.lang.RuntimeException: Bad URL
java.lang.RuntimeException: Bad URL
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:127)
at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:110)
Caused by: java.net.MalformedURLException: Protocol not found:
at java.net.URL.<init>(URL.java:176)
at java.net.URL.<init>(URL.java:125)
at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:101)
at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:93)
en cherchant plus loin, j'ai mis quelques rondins dans HurlStack.
public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders),
la requête qui échoue est REQUEST [ ] 0x0 LOW 26."
ainsi, ligne 101 de HurlStack:URL parsedUrl = new URL(url);
échoue avec une url vide (request.getUrl() est vide).
j'utilise OkHttpStack (Extendinghurlstack).
Toutes les idées sur ce qui pourrait être la cause?
4 réponses
en fait le problème est avec votre url pas avec la volée. Votre Url n'est pas une URI. Il n'y a pas de composant de protocole. Il a besoin d' http:// ou tout autre protocole que vous souhaitez. Si vous avez le http dans votre url assurez-vous que lorsqu'il est correctement formée ou non.
par exemple votre formation d'url doit être comme ceci
public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
N'oubliez pas de lire le Spécification D'URL et assurez-vous que l'URL que vous fournissez est valide.
assurez-vous que vous avez passé L'URL comme second paramètre dans JsonObjectRequest ou StringRequest. J'ai fait la même erreur qui a produit la même erreur que ce que vous avez affronté.
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, URL, null, ResponseListener, ErrorListener);
Utilisation http:// OU https://
préfixe de votre URL exemple: example.com/information.json l'écrire comme http://example.com/information.json
cette Exception se produit lorsque vous frappez un Url qui n'est pas précédé d'http// ou https//.afin de vérifier qu'il n'y est-ilhttp// est avec votre URL.
vous pouvez obtenir plus d'informations ici et voir ces liens