Android Volley MalformedURLException Bad URL
После выполнения второго сетевого запроса с помощью Volley
Я всегда получаю эту ошибку. Кажется, не имеет значения, какой URL я вставил. Volley
всегда утверждает, что это неправильно.
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)
Исследуя дальше, я поставил пару логов в HurlStack. В
public HttpResponse performRequest(Request<?> request, Map<String, String> additionalHeaders),
неудавшийся запрос REQUEST [ ] 0x0 LOW 26.
"
Таким образом, строка 101 HurlStack: URL parsedUrl = new URL(url);
не с пустым URL (request.getUrl()
пустой).
я использую OkHttpStack
(расширение HurlStack). Любые идеи о том, что может быть причиной этого?
4 ответа
На самом деле проблема с вашим URL, а не с залпом. Ваш URL не является URI. В нем нет компонента протокола. Нужно http://
или любой другой протокол, который вы собираетесь. Если у вас есть http в вашем URL, убедитесь, что он правильно сформирован или нет.
Например, ваш URL должен быть таким
public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
Не забудьте прочитать спецификацию URL и убедиться, что предоставленный вами URL действителен.
Убедитесь, что вы передали URL-адрес в качестве второго параметра в JsonObjectRequest или StringRequest. Я совершил ту же ошибку, которая вызвала ту же ошибку, что и вы.
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, URL, null, ResponseListener, ErrorListener);
Используйте http:// ИЛИ https://
префикс к вашему примеру URL: example.com/information.json напишите его как http://example.com/information.json