【发布时间】:2017-11-16 15:21:58
【问题描述】:
我正在使用以下代码:
System.setProperty("http.keepAlive","false");
String content;
mainURL += "&fingerprint=" + Build.FINGERPRINT + "&devicename=" + "" + "&devicemodel=" + Build.MANUFACTURER + " - " + Build.MODEL;
try {
URL url = new URL(mainURL);
HttpURLConnection urlconn = (HttpURLConnection) url.openConnection();
urlconn.setConnectTimeout(HTTP_REQUEST_TIMEOUT);
urlconn.setReadTimeout(HTTP_REQUEST_TIMEOUT);
urlconn.setRequestMethod("GET");
urlconn.connect();
int responseCode = urlconn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK){
content = readStream(urlconn.getInputStream());
}else{
content = "error";
}
urlconn.disconnect();
} catch (Exception e) {
return "error";
}
return content;
这在 Android 6.x.x 和 Android 7.x.x 上运行良好,但在 Android 4.4.2 上它返回 http 响应代码 400。这个问题可能是因为这个原因引起的:
mainURL += "&fingerprint=" + Build.FINGERPRINT + "&devicename=" + "" + "&devicemodel=" + Build.MANUFACTURER + " - " + Build.MODEL;
提前致谢。
【问题讨论】:
-
能否在
try之后添加断点,以检查从不同Android 版本调用的url? -
@Signo 我的问题是,我没有 android 4 设备。一个未知用户向我报告了这个问题,这就是我在这里询问的原因。
-
好的,我明白了!顺便说一句,如果您使用的是 Android Studio,我认为您应该能够下载 4.x 版的工作模拟器
标签: java android httpurlconnection