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