Android Volley MalformedURLException Плохой 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). Любые идеи о том, что может быть причиной этого?

Ответы

Ответ 1

на самом деле проблема заключается в том, что ваш URL не с волейболом. Ваш URL не является URI. В нем нет компонента протокола. Ему нужен http:// или любой другой протокол, который вы собираетесь использовать. Если у вас есть http в вашем URL-адресе, убедитесь, что он правильно сформирован или нет.

Например, ваше формирование URL должно быть таким:

public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";

Не забудьте прочитать Спецификацию URL и убедитесь, что указанный вами URL-адрес действителен.

Ответ 2

Убедитесь, что вы передали URL как второй параметр в JsonObjectRequest или StringRequest. Я сделал ту же ошибку, которая произвела ту же ошибку, что и вы.

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, URL, null, ResponseListener, ErrorListener);

Ответ 3

Использование Http:// ИЛИ https://

Префикс

для вашего URL-адреса пример: example.com/information.json напишите его как http://example.com/information.json

Ответ 4

это исключение происходит, когда вы нажимаете Url, который не имеет префикса http// или https//.so проверьте, существует ли http// с вашим URL-адресом. вы можете получить дополнительную информацию здесь и посмотреть эти ссылки