okhttpclient - Android Volley MalformedURLException URL incorrecta
retrofit implementation (4)
Asegúrese de haber pasado la URL como el segundo parámetro en JsonObjectRequest o StringRequest. Cometí el mismo error que produjo el mismo error como el que enfrentaste.
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, URL, null, ResponseListener, ErrorListener);
Después de hacer una segunda solicitud de red usando Volley
, siempre recibo este error. No parece importar cuál es la url que pongo. Volley
siempre afirma que está mal formado.
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)
Investigando más a fondo, puse un par de registros en HurlStack. En
public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders),
la solicitud que falla es REQUEST [ ] 0x0 LOW 26.
"
Por lo tanto, la línea 101 de HurlStack: URL parsedUrl = new URL(url);
falla con un URL vacío ( request.getUrl()
está vacío).
Estoy usando OkHttpStack
(extendiendo HurlStack). ¿Alguna idea de qué puede estar causando esto?
Utilice http: // O https: //
prefijo a su URL ejemplo: example.com/information.json escríbalo como http://example.com/information.json
en realidad el problema es con tu url no con la volea. Tu url no es una URI. No hay ningún componente de protocolo en él. Necesita http://
o cualquier otro protocolo que desee. Si tiene el http en su url, asegúrese de que esté correctamente formado o no.
Por ejemplo, tu formación de url debería ser así.
public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
No olvide leer la Especificación de URL y asegúrese de que la URL que está proporcionando es válida.