JSON応答用の多くのパラメーターを使用してURLを呼び出すと、URISyntaxErrorが表示されますが、すべてのブラウザーで同じURLが正常に機能するという問題があります。何が悪いのか理解できませんか?
The URL is: http://apibeta.highgearmedia.com/v1/vehicles/get-make-models.json?sort=mpg&filter=category&client-id=10030812&from=convertible&signature=QOwiWhG2T47KaQoyUztbag==
コード:
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(api_url));
HttpResponse response = client.execute(request);
InputStream ips = response.getEntity().getContent();
BufferedReader buf = new BufferedReader(new InputStreamReader(ips,
"UTF-8"));
StringBuilder sb = new StringBuilder();
String s;
while (true) {
s = buf.readLine();
if (s == null || s.length() == 0)
break;
sb.append(s);
}
buf.close();
ips.close();
return sb.toString();
エラー:
05-10 23:03:45.326: W/System.err(2227): java.net.URISyntaxException: Illegal character in query at index 161: http://apibeta.highgearmedia.com/v1/vehicles/get-make-models.json?sort=mpg&filter=category&client-id=10030812&from=convertible&signature=QOwiWhG2T47KaQoyUztbag==
05-10 23:03:45.326: W/System.err(2227): at java.net.URI.validateQuery(URI.java:434)
05-10 23:03:45.326: W/System.err(2227): at java.net.URI.parseURI(URI.java:340)
05-10 23:03:45.335: W/System.err(2227): at java.net.URI.<init>(URI.java:72)
05-10 23:03:45.335: W/System.err(2227): at com.TCC.android.ResearchList.getJsonSring(ResearchList.java:3892)
05-10 23:03:45.335: W/System.err(2227): at com.TCC.android.ResearchList$67.run(ResearchList.java:4077)