【问题标题】:Java Android - HttpURLConnection - Response Code 400 on Android 4.x.xJava Android - HttpURLConnection - Android 4.x.x 上的响应代码 400
【发布时间】: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


【解决方案1】:

我解决了这个问题。

Build 无法在 Android 4.x.x 上运行,这就是 HttpURLConnection 也无法运行的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    相关资源
    最近更新 更多