在使用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.
“
因此,HurlStack的第101行:URL parsedUrl = new URL(url);
失败,返回空url (request.getUrl()
为空)。
我使用的是OkHttpStack
(扩展HurlStack)。你知道这是什么原因造成的吗?
发布于 2015-09-03 15:18:52
实际上,问题出在你的网址上,而不是截击。您的Url不是URI。其中没有协议组件。它需要http://
或您想要的任何其他协议。如果您的url中有http,请确定它的格式是否正确。
例如,您的url格式应如下所示
public String URL = "http://www.w3schools.com/webservices/tempconvert.asmx";
不要忘记阅读URL Specification并确保您提供的URL是有效的。
发布于 2015-09-02 16:52:17
确保已将URL作为JsonObjectRequest或StringRequest中的第二个参数传递。我犯了同样的错误,产生了和你面对的同样的错误。
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Method.POST, URL, null, ResponseListener, ErrorListener);
发布于 2015-11-30 16:02:23
使用http://或https://
例如: example.com/information.json将其写为http://example.com/information.json
https://stackoverflow.com/questions/25130745
复制相似问题