Example usage for javax.net.ssl HttpsURLConnection getResponseCode

List of usage examples for javax.net.ssl HttpsURLConnection getResponseCode

Introduction

In this page you can find the example usage for javax.net.ssl HttpsURLConnection getResponseCode.

Prototype

public int getResponseCode() throws IOException 

Source Link

Document

Gets the status code from an HTTP response message.

Usage

From source file:com.siviton.huanapi.data.HuanApi.java

public void AutoLoginUser() {

    new Thread() {

        public void run() {

            JSONObject jsonObject2 = new JSONObject();
            try {
                jsonObject2.putOpt("dnum", getdnum());
                jsonObject2.putOpt("didtoken", getdidtoken());
            } catch (JSONException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();//w  w w  .j  a v  a2 s.  co m
            }
            JSONObject jsonObject = new JSONObject();
            try {
                jsonObject.putOpt("action", "AutoLoginUser");
                jsonObject.putOpt("device", jsonObject2);
            } catch (JSONException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            try {
                byte[] entity = jsonObject.toString().getBytes();
                URL url = new URL(getDeviceUrl());
                HttpsURLConnection connections = (HttpsURLConnection) url.openConnection();
                if (connections instanceof HttpsURLConnection) {
                    // Trust all certificates
                    SSLContext context = SSLContext.getInstance("SSL");
                    context.init(new KeyManager[0], xtmArray, new SecureRandom());
                    SSLSocketFactory socketFactory = context.getSocketFactory();
                    ((HttpsURLConnection) connections).setSSLSocketFactory(socketFactory);
                    ((HttpsURLConnection) connections).setHostnameVerifier(HOSTNAME_VERIFIER);
                }
                connections.setConnectTimeout(5 * 1000);
                connections.setRequestMethod("POST");
                connections.setDoOutput(true);// ??
                connections.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                connections.setRequestProperty("Content-Length", String.valueOf(entity.length));
                OutputStream outStream = connections.getOutputStream();
                outStream.write(entity);
                outStream.flush();
                outStream.close();
                if (connections.getResponseCode() == 200) {
                    BufferedReader in = new BufferedReader(new InputStreamReader(connections.getInputStream()));
                    String line = "";
                    StringBuilder stringBuffer = new StringBuilder();
                    while ((line = in.readLine()) != null) {
                        stringBuffer.append("" + line + "\n");
                        System.out.println("==pengbdata==AutoLoginUser=====" + line);
                    }
                    in.close();

                    JSONObject object = new JSONObject("" + stringBuffer.toString());

                    JSONObject object2 = null;
                    try {
                        object2 = object.getJSONObject("error");
                        String code = object2.getString("code");
                        String info = object2.getString("info");
                        if (!code.equals("0")) {
                            mHuanLoginListen.StateChange(STATE_USERLOGIN, STATE_USERLOGIN_ERROR_COCDE,
                                    "" + info, null, null, null);
                        } else {
                            object2 = object.getJSONObject("user");
                            String huanid = object2.getString("huanid");
                            String token = object2.getString("token");
                            if (token != null && huanid != null) {
                                huanItemInfo.setToken(token);
                                huanItemInfo.setHuanid(huanid);
                                updateData();
                                mHuanLoginListen.StateChange(STATE_USERLOGIN, STATE_USERLOGIN_LOGIN_SUCC,
                                        "user succ", null, null, null);
                            } else {
                                // ?
                                mHuanLoginListen.StateChange(STATE_USERLOGIN, STATE_USERLOGIN_HUANIDTOKEN_NULL,
                                        "huanid or huanid is null", null, null, null);
                            }
                        }
                    } catch (Exception e) {
                        // TODO: handle exception
                        mHuanLoginListen.StateChange(STATE_USERLOGIN, STATE_USERLOGIN_JESON_EXCEPTION,
                                e.toString(), null, null, null);
                    }

                } else {
                    // 
                    mHuanLoginListen.StateChange(STATE_USERLOGIN, STATE_USERLOGIN_NETCODE_ISNO200,
                            "user   network error", null, null, null);
                }

            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
                mHuanLoginListen.StateChange(STATE_USERLOGIN, STATE_USERLOGIN_NETCODE_EXCEPTION,
                        "user   network error" + e.toString(), null, null, null);
            }

        };

    }.start();

}

From source file:com.siviton.huanapi.data.HuanApi.java

public void DeviceLogin() {

    new Thread() {

        public void run() {

            JSONObject jsonObject2 = new JSONObject();
            try {
                jsonObject2.putOpt("dnum", getdnum());
                jsonObject2.putOpt("didtoken", getdidtoken());
                jsonObject2.putOpt("activekey", getactivekey());
            } catch (JSONException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();// w  w  w  .j a v a  2  s.c  o m
            }
            JSONObject jsonObject3 = new JSONObject();
            try {
                jsonObject3.putOpt("ostype", getostype());
                jsonObject3.putOpt("osversion", getosversion());
                jsonObject3.putOpt("kernelversion", getkernelversion());
                jsonObject3.putOpt("webinfo", getwebinfo());
                jsonObject3.putOpt("javainfo", getjavainfo());
                jsonObject3.putOpt("flashinfo", getflashinfo());
            } catch (JSONException e2) {
                // TODO Auto-generated catch block
                e2.printStackTrace();
            }
            JSONObject jsonObject = new JSONObject();
            try {
                jsonObject.putOpt("action", "DeviceLogin");
                jsonObject.putOpt("device", jsonObject2);
                jsonObject.putOpt("param", jsonObject3);
            } catch (JSONException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            try {
                byte[] entity = jsonObject.toString().getBytes();
                URL url = new URL(getDeviceUrl());
                HttpsURLConnection connections = (HttpsURLConnection) url.openConnection();
                if (connections instanceof HttpsURLConnection) {
                    // Trust all certificates
                    SSLContext context = SSLContext.getInstance("SSL");
                    context.init(new KeyManager[0], xtmArray, new SecureRandom());
                    SSLSocketFactory socketFactory = context.getSocketFactory();
                    ((HttpsURLConnection) connections).setSSLSocketFactory(socketFactory);
                    ((HttpsURLConnection) connections).setHostnameVerifier(HOSTNAME_VERIFIER);
                }
                connections.setConnectTimeout(5 * 1000);
                connections.setRequestMethod("POST");
                connections.setDoOutput(true);// ??
                connections.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                connections.setRequestProperty("Content-Length", String.valueOf(entity.length));
                OutputStream outStream = connections.getOutputStream();
                outStream.write(entity);
                outStream.flush();
                outStream.close();
                if (connections.getResponseCode() == 200) {
                    BufferedReader in = new BufferedReader(new InputStreamReader(connections.getInputStream()));
                    String line = "";
                    StringBuilder stringBuffer = new StringBuilder();
                    while ((line = in.readLine()) != null) {
                        stringBuffer.append("" + line + "\n");
                        System.out.println("==pengbdata==DeviceLogin=====" + line);
                    }
                    in.close();

                    JSONObject object = new JSONObject("" + stringBuffer.toString());

                    JSONObject object2 = null;
                    try {
                        object2 = object.getJSONObject("error");
                        String code = object2.getString("code");
                        String info = object2.getString("info");
                        if (!code.equals("0")) {
                            mHuanLoginListen.StateChange(STATE_DEVICELOGIN, STATE_DEVICELOGIN_ERROR_COCDE,
                                    "" + info, null, null, null);
                        } else {
                            object2 = object.getJSONObject("device");
                            String activekey = object2.getString("activekey");
                            if (activekey != null) {
                                huanItemInfo.setActivekey(activekey);
                                huanItemInfo.setDidtoken(getMD5(getdeviceid() + getactivekey()));
                                System.out.println("==pengbdata==DeviceLogin======" + huanItemInfo.getDeviceid()
                                        + "===" + huanItemInfo.getDevicemodel() + "==="
                                        + huanItemInfo.getDidtoken() + "===" + huanItemInfo.getActivekey()
                                        + "===" + huanItemInfo.getDnum());
                                updateData();
                                mHuanLoginListen.StateChange(STATE_DEVICELOGIN, STATE_DEVICELOGIN_LOGIN_SUCC,
                                        "DeviceLogin succ", null, null, null);
                            } else {
                                // ?
                                mHuanLoginListen.StateChange(STATE_DEVICELOGIN,
                                        STATE_DEVICELOGIN_ACTIVEKEY_NULL, "dnum or activekey is null", null,
                                        null, null);
                            }
                        }
                    } catch (Exception e) {
                        // TODO: handle exception
                        mHuanLoginListen.StateChange(STATE_DEVICELOGIN, STATE_DEVICELOGIN_JESON_EXCEPTION,
                                e.toString(), null, null, null);
                    }

                } else {
                    // 
                    mHuanLoginListen.StateChange(STATE_DEVICELOGIN, STATE_DEVICELOGIN_NETCODE_ISNO200,
                            "DeviceLogin   network error", null, null, null);
                }

            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
                mHuanLoginListen.StateChange(STATE_DEVICELOGIN, STATE_DEVICELOGIN_NETCODE_EXCEPTION,
                        "DeviceLogin   network error" + e.toString(), null, null, null);
            }

        };

    }.start();

}

From source file:org.wso2.connector.integration.test.base.ConnectorIntegrationTestBase.java

/**
 * Send HTTPS request using {@link HttpsURLConnection} in XML format.
 * /*from w  w  w  .j a v  a 2s .  co  m*/
 * @param endPoint String End point URL.
 * @param httpMethod String HTTPS method type (POST, PUT)
 * @param headersMap Map<String, String> Headers need to send to the end point.
 * @param fileName File name of the attachment to set as binary content.
 * @return RestResponse object.
 * @throws IOException
 * @throws XMLStreamException 
 */
protected RestResponse<OMElement> sendBinaryContentForXmlResponseHTTPS(String endPoint, String httpMethod,
        Map<String, String> headersMap, String fileName) throws IOException, XMLStreamException {

    HttpsURLConnection httpsConnection = writeRequestHTTPS(endPoint, httpMethod, RestResponse.XML_TYPE,
            headersMap, fileName, true);

    String responseString = readResponse(httpsConnection);

    RestResponse<OMElement> restResponse = new RestResponse<OMElement>();
    restResponse.setHttpStatusCode(httpsConnection.getResponseCode());
    restResponse.setHeadersMap(httpsConnection.getHeaderFields());

    if (responseString != null) {
        restResponse.setBody(AXIOMUtil.stringToOM(responseString));
    }

    return restResponse;
}

From source file:org.wso2.connector.integration.test.base.ConnectorIntegrationTestBase.java

/**
 * Send HTTPS request using {@link HttpsURLConnection} in JSON format.
 * /*  w  w w. j a  v a  2s.  co  m*/
 * @param endPoint String End point URL.
 * @param httpsMethod String HTTPS method type (POST, PUT)
 * @param headersMap Map<String, String> Headers need to send to the end point.
 * @param fileName File name of the attachment to set as binary content.
 * @return RestResponse object.
 * @throws JSONException
 * @throws IOException
 */
protected RestResponse<JSONObject> sendBinaryContentForJsonResponseHTTPS(String endPoint, String httpMethod,
        Map<String, String> headersMap, String fileName) throws IOException, JSONException {

    HttpsURLConnection httpsConnection = writeRequestHTTPS(endPoint, httpMethod, RestResponse.JSON_TYPE,
            headersMap, fileName, true);

    String responseString = readResponse(httpsConnection);

    RestResponse<JSONObject> restResponse = new RestResponse<JSONObject>();
    restResponse.setHttpStatusCode(httpsConnection.getResponseCode());
    restResponse.setHeadersMap(httpsConnection.getHeaderFields());

    if (responseString != null) {
        JSONObject jsonObject = null;
        if (isValidJSON(responseString)) {
            jsonObject = new JSONObject(responseString);
        } else {
            jsonObject = new JSONObject();
            jsonObject.put("output", responseString);
        }

        restResponse.setBody(jsonObject);
    }

    return restResponse;
}

From source file:org.wso2.connector.integration.test.base.ConnectorIntegrationTestBase.java

/**
 * Send HTTP request using {@link HttpsURLConnection} in XML format.
 * //from w w w  .j  av  a 2 s. c  om
 * @param endPoint String End point URL.
 * @param httpMethod String HTTP method type (GET, POST, PUT etc.)
 * @param headersMap Map<String, String> Headers need to send to the end point.
 * @param requestFileName String File name of the file which contains request body data.
 * @param parametersMap Map<String, String> Additional parameters which is not predefined in the
 *        properties file.
 * @param isIgnoreHostVerification boolean flag to ignore host verification.
 * @return RestResponse
 * @throws IOException
 * @throws XMLStreamException
 */
protected RestResponse<OMElement> sendXmlRestRequestHTTPS(String endPoint, String httpMethod,
        Map<String, String> headersMap, String requestFileName, Map<String, String> parametersMap,
        boolean isIgnoreHostVerification) throws IOException, XMLStreamException {

    HttpsURLConnection httpsConnection = writeRequestHTTPS(endPoint, httpMethod, RestResponse.XML_TYPE,
            headersMap, requestFileName, parametersMap, isIgnoreHostVerification);

    String responseString = readResponseHTTPS(httpsConnection);

    RestResponse<OMElement> restResponse = new RestResponse<OMElement>();
    restResponse.setHttpStatusCode(httpsConnection.getResponseCode());
    restResponse.setHeadersMap(httpsConnection.getHeaderFields());

    if (responseString != null) {

        if (!isValidXML(responseString)) {
            responseString = "<output>" + responseString + "</output>";
        }

        restResponse.setBody(AXIOMUtil.stringToOM(responseString));
    }

    return restResponse;
}

From source file:org.wso2.connector.integration.test.base.ConnectorIntegrationTestBase.java

/**
 * Send HTTP request to using {@link HttpsURLConnection} in JSON format.
 * //from w  w  w. java2s.  co m
 * @param endPoint String End point URL.
 * @param httpMethod String HTTP method type (GET, POST, PUT etc.)
 * @param headersMap Map<String, String> Headers need to send to the end point.
 * @param requestFileName String File name of the file which contains request body data.
 * @param parametersMap Map<String, String> Additional parameters which is not predefined in the
 *        properties file.
 * @param isIgnoreHostVerification boolean flag to ignore host verification.
 * @return RestResponse object.
 * @throws JSONException
 * @throws IOException
 */
protected RestResponse<JSONObject> sendJsonRestRequestHTTPS(String endPoint, String httpMethod,
        Map<String, String> headersMap, String requestFileName, Map<String, String> parametersMap,
        boolean isIgnoreHostVerification) throws IOException, JSONException {

    HttpsURLConnection httpsConnection = writeRequestHTTPS(endPoint, httpMethod, RestResponse.JSON_TYPE,
            headersMap, requestFileName, parametersMap, isIgnoreHostVerification);

    String responseString = readResponseHTTPS(httpsConnection);

    RestResponse<JSONObject> restResponse = new RestResponse<JSONObject>();
    restResponse.setHttpStatusCode(httpsConnection.getResponseCode());
    restResponse.setHeadersMap(httpsConnection.getHeaderFields());

    if (responseString != null) {
        JSONObject jsonObject = null;
        if (isValidJSON(responseString)) {
            jsonObject = new JSONObject(responseString);
        } else {
            jsonObject = new JSONObject();
            jsonObject.put("output", responseString);
        }

        restResponse.setBody(jsonObject);
    }

    return restResponse;
}

From source file:org.globusonline.nexus.BaseNexusRestClient.java

/**
 * @param path//from w  w w .  j  a v  a  2s  .c om
 * @return JSON Response from action
 * @throws NexusClientException
 */
protected JSONObject issueRestRequest(String path, String httpMethod, String contentType, String accept,
        JSONObject params, NexusAuthenticator auth) throws NexusClientException {

    JSONObject json = null;

    HttpsURLConnection connection;

    if (httpMethod.isEmpty()) {
        httpMethod = "GET";
    }
    if (contentType.isEmpty()) {
        contentType = "application/json";
    }
    if (accept.isEmpty()) {
        accept = "application/json";
    }
    int responseCode;

    try {

        URL url = new URL(getNexusApiUrl() + path);

        connection = (HttpsURLConnection) url.openConnection();

        if (ignoreCertErrors) {
            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new SecureRandom());
            connection.setSSLSocketFactory(sc.getSocketFactory());
            connection.setHostnameVerifier(allHostsValid);
        }

        if (auth != null) {
            auth.authenticate(connection);
        }

        connection.setDoOutput(true);
        connection.setInstanceFollowRedirects(false);
        connection.setRequestMethod(httpMethod);
        connection.setRequestProperty("Content-Type", contentType);
        connection.setRequestProperty("Accept", accept);
        connection.setRequestProperty("X-Go-Community-Context", community);

        String body = "";

        if (params != null) {
            OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
            body = params.toString();
            out.write(body);
            logger.debug("Body:" + body);
            out.close();
        }

        responseCode = connection.getResponseCode();

    } catch (Exception e) {
        logger.error("Unhandled connection error:", e);
        throw new ValueErrorException();
    }

    logger.info("ConnectionURL: " + connection.getURL());

    if (responseCode == 403 || responseCode == 400) {
        logger.error("Access is denied.  Invalid credentials.");
        throw new InvalidCredentialsException();
    }
    if (responseCode == 404) {
        logger.error("URL not found.");
        throw new InvalidUrlException();
    }
    if (responseCode == 500) {
        logger.error("Internal Server Error.");
        throw new ValueErrorException();
    }
    if (responseCode != 200) {
        logger.info("Response code is: " + responseCode);
    }

    try {
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String decodedString = in.readLine();

        json = new JSONObject(decodedString);
    } catch (JSONException e) {
        logger.error("JSON Error", e);
        throw new ValueErrorException();
    } catch (IOException e) {
        logger.error("IO Error", e);
        throw new ValueErrorException();
    }

    return json;
}

From source file:TestHTTPSource.java

public void doTestHttps(String protocol) throws Exception {
    Type listType = new TypeToken<List<JSONEvent>>() {
    }.getType();//from  w  w  w  . j  ava  2  s  .  com
    List<JSONEvent> events = Lists.newArrayList();
    Random rand = new Random();
    for (int i = 0; i < 10; i++) {
        Map<String, String> input = Maps.newHashMap();
        for (int j = 0; j < 10; j++) {
            input.put(String.valueOf(i) + String.valueOf(j), String.valueOf(i));
        }
        input.put("MsgNum", String.valueOf(i));
        JSONEvent e = new JSONEvent();
        e.setHeaders(input);
        e.setBody(String.valueOf(rand.nextGaussian()).getBytes("UTF-8"));
        events.add(e);
    }
    Gson gson = new Gson();
    String json = gson.toJson(events, listType);
    HttpsURLConnection httpsURLConnection = null;
    try {
        TrustManager[] trustAllCerts = { new X509TrustManager() {
            @Override
            public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, String s)
                    throws CertificateException {
                // noop
            }

            @Override
            public void checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, String s)
                    throws CertificateException {
                // noop
            }

            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }
        } };

        SSLContext sc = null;
        javax.net.ssl.SSLSocketFactory factory = null;
        if (System.getProperty("java.vendor").contains("IBM")) {
            sc = SSLContext.getInstance("SSL_TLS");
        } else {
            sc = SSLContext.getInstance("SSL");
        }

        HostnameVerifier hv = new HostnameVerifier() {
            public boolean verify(String arg0, SSLSession arg1) {
                return true;
            }
        };
        sc.init(null, trustAllCerts, new SecureRandom());

        if (protocol != null) {
            factory = new DisabledProtocolsSocketFactory(sc.getSocketFactory(), protocol);
        } else {
            factory = sc.getSocketFactory();
        }
        HttpsURLConnection.setDefaultSSLSocketFactory(factory);
        HttpsURLConnection.setDefaultHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
        URL sslUrl = new URL("https://0.0.0.0:" + sslPort);
        httpsURLConnection = (HttpsURLConnection) sslUrl.openConnection();
        httpsURLConnection.setDoInput(true);
        httpsURLConnection.setDoOutput(true);
        httpsURLConnection.setRequestMethod("POST");
        httpsURLConnection.getOutputStream().write(json.getBytes());

        int statusCode = httpsURLConnection.getResponseCode();
        Assert.assertEquals(200, statusCode);

        Transaction transaction = channel.getTransaction();
        transaction.begin();
        for (int i = 0; i < 10; i++) {
            Event e = channel.take();
            Assert.assertNotNull(e);
            Assert.assertEquals(String.valueOf(i), e.getHeaders().get("MsgNum"));
        }

        transaction.commit();
        transaction.close();
    } finally {
        httpsURLConnection.disconnect();
    }
}

From source file:org.appspot.apprtc.util.AsyncHttpURLConnection.java

private void sendHttpMessage() {
    if (mIsBitmap) {
        Bitmap bitmap = ThumbnailsCacheManager.getBitmapFromDiskCache(url);

        if (bitmap != null) {
            events.onHttpComplete(bitmap);
            return;
        }//from  ww  w  . j a v a2s  . com
    }

    X509TrustManager trustManager = new X509TrustManager() {

        @Override
        public X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        @Override
        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            // NOTE : This is where we can calculate the certificate's fingerprint,
            // show it to the user and throw an exception in case he doesn't like it
        }

        @Override
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }
    };

    //HttpsURLConnection.setDefaultHostnameVerifier(new NullHostNameVerifier());
    // Create a trust manager that does not validate certificate chains
    X509TrustManager[] trustAllCerts = new X509TrustManager[] { trustManager };

    // Install the all-trusting trust manager
    SSLSocketFactory noSSLv3Factory = null;
    try {
        SSLContext sc = SSLContext.getInstance("TLS");
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
            noSSLv3Factory = new TLSSocketFactory(trustAllCerts, new SecureRandom());
        } else {
            noSSLv3Factory = sc.getSocketFactory();
        }
        HttpsURLConnection.setDefaultSSLSocketFactory(noSSLv3Factory);
    } catch (GeneralSecurityException e) {
    }

    HttpsURLConnection connection = null;
    try {
        URL urlObj = new URL(url);
        connection = (HttpsURLConnection) urlObj.openConnection();
        connection.setSSLSocketFactory(noSSLv3Factory);

        HttpsURLConnection.setDefaultHostnameVerifier(new NullHostNameVerifier(urlObj.getHost()));
        connection.setHostnameVerifier(new NullHostNameVerifier(urlObj.getHost()));
        byte[] postData = new byte[0];
        if (message != null) {
            postData = message.getBytes("UTF-8");
        }

        if (msCookieManager.getCookieStore().getCookies().size() > 0) {
            // While joining the Cookies, use ',' or ';' as needed. Most of the servers are using ';'
            connection.setRequestProperty("Cookie",
                    TextUtils.join(";", msCookieManager.getCookieStore().getCookies()));
        }

        /*if (method.equals("PATCH")) {
          connection.setRequestProperty("X-HTTP-Method-Override", "PATCH");
          connection.setRequestMethod("POST");
        }
        else {*/
        connection.setRequestMethod(method);
        //}

        if (authorization.length() != 0) {
            connection.setRequestProperty("Authorization", authorization);
        }
        connection.setUseCaches(false);
        connection.setDoInput(true);
        connection.setConnectTimeout(HTTP_TIMEOUT_MS);
        connection.setReadTimeout(HTTP_TIMEOUT_MS);
        // TODO(glaznev) - query request origin from pref_room_server_url_key preferences.
        //connection.addRequestProperty("origin", HTTP_ORIGIN);
        boolean doOutput = false;
        if (method.equals("POST") || method.equals("PATCH")) {
            doOutput = true;
            connection.setDoOutput(true);
            connection.setFixedLengthStreamingMode(postData.length);
        }
        if (contentType == null) {
            connection.setRequestProperty("Content-Type", "text/plain; charset=utf-8");
        } else {
            connection.setRequestProperty("Content-Type", contentType);
        }

        // Send POST request.
        if (doOutput && postData.length > 0) {
            OutputStream outStream = connection.getOutputStream();
            outStream.write(postData);
            outStream.close();
        }

        // Get response.
        int responseCode = 200;
        try {
            connection.getResponseCode();
        } catch (IOException e) {

        }
        getCookies(connection);
        InputStream responseStream;

        if (responseCode > 400) {
            responseStream = connection.getErrorStream();
        } else {
            responseStream = connection.getInputStream();
        }

        String responseType = connection.getContentType();
        if (responseType.startsWith("image/")) {
            Bitmap bitmap = BitmapFactory.decodeStream(responseStream);
            if (mIsBitmap && bitmap != null) {
                ThumbnailsCacheManager.addBitmapToCache(url, bitmap);
            }
            events.onHttpComplete(bitmap);
        } else {
            String response = drainStream(responseStream);
            events.onHttpComplete(response);
        }
        responseStream.close();
        connection.disconnect();
    } catch (SocketTimeoutException e) {
        events.onHttpError("HTTP " + method + " to " + url + " timeout");
    } catch (IOException e) {
        if (connection != null) {
            connection.disconnect();
        }
        events.onHttpError("HTTP " + method + " to " + url + " error: " + e.getMessage());
    } catch (ClassCastException e) {
        e.printStackTrace();
    }
}

From source file:com.example.android.networkconnect.MainActivity.java

private String https_test(String urlString) throws IOException {

    String token = "";
    URL url = new URL(urlString);

    Log.i(TAG, "Protocol: " + url.getProtocol().toString());

    // if (url.getProtocol().toLowerCase().equals("https")) {
    trustAllHosts();/*from w  w  w . j a v  a  2  s.c  o m*/

    HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();

    conn.setReadTimeout(20000 /* milliseconds */);
    conn.setConnectTimeout(25000 /* milliseconds */);
    // conn.setRequestMethod("GET");
    conn.setDoInput(true);
    conn.setDoOutput(true);

    conn.setChunkedStreamingMode(0);

    conn.setRequestProperty("User-Agent", "e-venement-app/");

    // OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
    //writer.getEncoding();
    //writer.write("&signin[username]=antoine");
    //writer.write("&signin[password]=android2015@");
    //writer.write("?control[id]=");
    //writer.write("&control[ticket_id]=2222");
    //writer.write("&control[checkpoint_id]=1");
    //  writer.write("&control[comment]=");

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); //On cre la liste qui contiendra tous nos paramtres

    //Et on y rajoute nos paramtres
    nameValuePairs.add(new BasicNameValuePair("signin[username]", "antoine"));
    nameValuePairs.add(new BasicNameValuePair("signin[password]", "android2015@"));
    //nameValuePairs.add(new BasicNameValuePair("control[id]", ""));
    //nameValuePairs.add(new BasicNameValuePair("control[ticket_id]", "2222"));
    //nameValuePairs.add(new BasicNameValuePair("control[checkpoint_id]", "1"));
    //nameValuePairs.add(new BasicNameValuePair("control[comment]", ""));

    OutputStream os = conn.getOutputStream();
    BufferedWriter writer2 = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
    writer2.write(getQuery(nameValuePairs));
    writer2.flush();
    //writer2.close();
    //os.close();

    // conn.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    //writer.write("&signin[_csrf_token]="+CSRFTOKEN);
    //writer.flush();

    conn.connect();

    String headerName = null;

    for (int i = 1; (headerName = conn.getHeaderFieldKey(i)) != null; i++) {
        //data=data+"Header Nme : " + headerName;
        //data=data+conn.getHeaderField(i);
        // Log.i (TAG,headerName);
        Log.i(TAG, headerName + ": " + conn.getHeaderField(i));

    }

    int responseCode = conn.getResponseCode();

    if (responseCode == conn.HTTP_OK) {
        final String COOKIES_HEADER = "Set-Cookie";
        cookie = conn.getHeaderField(COOKIES_HEADER);
    }

    if (conn.getInputStream() != null) {

        // token =getStringFromInputStream(conn.getInputStream());
        Log.i(TAG, readIt(conn.getInputStream(), 15000));
        token = readIt(conn.getInputStream(), 15000);
        Log.i(TAG, getStringFromInputStream(conn.getInputStream()));
        //data=readIt(conn.getInputStream(),7500);
        //Log.i(TAG,token);
        //token=readIt(conn.getInputStream(),7500);
    }
    //conn.connect();
    // List<String> cookiesList = conn.getHeaderFields().get("Set-Cookie");

    // }
    //conn.disconnect();
    return token;
}