Https请求不适用于Android应用程序

时间:2015-09-27 09:10:26

标签: https

当HTTP工作正常时,Https请求不在我的机器上为Android应用程序唤醒。 我做了很多傻瓜,但无法取得成功。

public static String requestWithPostMethod(String url,String jsonData)      *投掷      * ClientProtocolException,IOException      * /     {         // HttpURLConnection urlConnection;

    String result = null;
    try {
        // Connect

        URL newurl = new URL(url);
        HttpURLConnection urlConnection = (HttpURLConnection) newurl.openConnection();
    //  urlConnection = createConnection(url);
        urlConnection.setRequestMethod("POST");
        urlConnection
                .setRequestProperty("Content-Type", "application/json");
        urlConnection.setRequestProperty("Accept", "application/json");

        urlConnection.connect(); //here it return null exception

        // Write
        OutputStream outputStream = urlConnection.getOutputStream();
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
                outputStream, "UTF-8"));
        writer.write(jsonData);
        writer.close();
        outputStream.close();

        // Read
        BufferedReader bufferedReader = new BufferedReader(
                new InputStreamReader(urlConnection.getInputStream(),
                        "UTF-8"));

        String line = null;
        StringBuilder sb = new StringBuilder();

        while ((line = bufferedReader.readLine()) != null) {
            sb.append(line);
        }

        bufferedReader.close();

        // {"success":true,"result":[],"error":"","error_key":"email_validation_code"}

        result = sb.toString();

    } catch (UnsupportedEncodingException e) {
        if (e != null) {
            e.printStackTrace();
        }
    } catch (IOException e) {
        if (e != null) {
            e.printStackTrace();
        }
    }
    return result;
}

1 个答案:

答案 0 :(得分:1)

可能是服务器证书的问题。