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?

18
demandé sur Lavekush Agrawal 2014-08-05 07:30:07

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.

13
répondu King of Masses 2015-09-03 07:18:52

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);
4
répondu RevanthKrishnaKumar V. 2016-02-01 11:28:35

Utilisation http:// OU https://

préfixe de votre URL exemple: example.com/information.json l'écrire comme http://example.com/information.json

2
répondu Dildarkhan Pathan 2015-11-30 08:02:22

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

1
répondu John smith 2017-05-23 12:26:17