我正在从网络服务中读取数据.问题,如果我把链接放在浏览器上它工作正常.当我这样跑的时候给我错误.我怀疑是由于我发送参数的方式.我的参数列表有这个dID=1,5,7,11,14,18,26&FromDate=18 Sep 2012 00:00 am&ToDate=18 Sep 2012 10:00 am.我需要在这里做一些编码吗?
URL xmlURLDM = new URL(urlDM);
InputStream xml2 = xmlURLDM.openStream();
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
java.io.IOException: Server returned HTTP response code: 400 for URL:
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1612)
at java.net.URL.openStream(URL.java:1035)
at xmlreader.main(xmlreader.java:172)
Run Code Online (Sandbox Code Playgroud)
你确实需要编码,大多数情况下你的URL中的空格会导致麻烦.使用内置url-encoding的Javas.例如:
String encoded = URLEncoder.encode(myUrl, "UTF-8");
Run Code Online (Sandbox Code Playgroud)
...使用编码为URL调用Web服务
状态代码为400可能有其他原因,但这种编码问题可能是您的第一个绊脚石.