【发布时间】:2017-01-21 20:04:31
【问题描述】:
我必须调用一个 GET 请求的 Rest API。
当我使用 API 24 的模拟器时,它运行良好。但我手机上的代码相同,即 API 23 和 API 18,它给出 400 状态,即错误请求。
URL url = new URL(voids[0]);
Log.i("url", voids[0]);
//URL url = new URL(urlString);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.addRequestProperty("User-Agent", "REST");
System.setProperty("http.keepAlive", "false");
con.setRequestProperty("Accept", "*//*");
con.setConnectTimeout(10000);
con.setReadTimeout(10000);
con.setAllowUserInteraction(false);
con.setRequestMethod("GET");
responseCode = con.getResponseCode();
System.out.println("Sending get request : " + url);
System.out.println("Response code : " + responseCode);
// Reading response from input Stream
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String output;
StringBuffer response = new StringBuffer();
while ((output = in.readLine()) != null) {
response.append(output);
}
in.close();
System.out.println(response.toString());
【问题讨论】: