List of usage examples for javax.net.ssl HttpsURLConnection getInputStream
public InputStream getInputStream() throws IOException
From source file:com.gloriouseggroll.DonationHandlerAPI.java
@SuppressWarnings({ "null", "SleepWhileInLoop", "UseSpecificCatch" }) private JSONObject GetData(request_type type, String url, String post) { Date start = new Date(); Date preconnect = start;/* w w w . j a v a 2 s.co m*/ Date postconnect = start; Date prejson = start; Date postjson = start; JSONObject j = new JSONObject("{}"); BufferedInputStream i = null; String rawcontent = ""; int available = 0; int responsecode = 0; long cl = 0; try { URL u = new URL(url); HttpsURLConnection c = (HttpsURLConnection) u.openConnection(); c.setRequestMethod(type.name()); c.setUseCaches(false); c.setDefaultUseCaches(false); c.setConnectTimeout(5000); c.setReadTimeout(5000); c.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.52 Safari/537.36 QuorraBot/2015"); c.setRequestProperty("Content-Type", "application/json-rpc"); c.setRequestProperty("Content-length", "0"); if (!post.isEmpty()) { c.setDoOutput(true); } preconnect = new Date(); c.connect(); postconnect = new Date(); if (!post.isEmpty()) { try (BufferedOutputStream o = new BufferedOutputStream(c.getOutputStream())) { IOUtils.write(post, o); } } String content; cl = c.getContentLengthLong(); responsecode = c.getResponseCode(); if (c.getResponseCode() == 200) { i = new BufferedInputStream(c.getInputStream()); } else { i = new BufferedInputStream(c.getErrorStream()); } /* * if (i != null) { available = i.available(); * * while (available == 0 && (new Date().getTime() - * postconnect.getTime()) < 450) { Thread.sleep(500); available = * i.available(); } * * if (available == 0) { i = new * BufferedInputStream(c.getErrorStream()); * * if (i != null) { available = i.available(); } } } * * if (available == 0) { content = "{}"; } else { content = * IOUtils.toString(i, c.getContentEncoding()); } */ content = IOUtils.toString(i, c.getContentEncoding()); rawcontent = content; prejson = new Date(); j = new JSONObject(content); j.put("_success", true); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", c.getResponseCode()); j.put("_available", available); j.put("_exception", ""); j.put("_exceptionMessage", ""); j.put("_content", content); postjson = new Date(); } catch (JSONException ex) { if (ex.getMessage().contains("A JSONObject text must begin with")) { j = new JSONObject("{}"); j.put("_success", true); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "MalformedJSONData (HTTP " + responsecode + ")"); j.put("_exceptionMessage", ""); j.put("_content", rawcontent); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (NullPointerException ex) { com.gmt2001.Console.err.printStackTrace(ex); } catch (MalformedURLException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "MalformedURLException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (Quorrabot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (SocketTimeoutException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "SocketTimeoutException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (Quorrabot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (IOException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "IOException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (Quorrabot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (Exception ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "Exception [" + ex.getClass().getName() + "]"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (Quorrabot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } if (i != null) { try { i.close(); } catch (IOException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "IOException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (Quorrabot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } } if (Quorrabot.enableDebugging) { com.gmt2001.Console.out.println(">>>[DEBUG] DonationHandlerAPI.GetData Timers " + (preconnect.getTime() - start.getTime()) + " " + (postconnect.getTime() - start.getTime()) + " " + (prejson.getTime() - start.getTime()) + " " + (postjson.getTime() - start.getTime()) + " " + start.toString() + " " + postjson.toString()); com.gmt2001.Console.out.println(">>>[DEBUG] DonationHandlerAPI.GetData Exception " + j.getString("_exception") + " " + j.getString("_exceptionMessage")); com.gmt2001.Console.out.println(">>>[DEBUG] DonationHandlerAPI.GetData HTTP/Available " + j.getInt("_http") + "(" + responsecode + ")/" + j.getInt("_available") + "(" + cl + ")"); com.gmt2001.Console.out.println(">>>[DEBUG] DonationHandlerAPI.GetData RawContent[0,100] " + j.getString("_content").substring(0, Math.min(100, j.getString("_content").length()))); } return j; }
From source file:com.gmt2001.YouTubeAPIv3.java
@SuppressWarnings({ "null", "SleepWhileInLoop", "UseSpecificCatch" }) private JSONObject GetData(request_type type, String url, String post) { Date start = new Date(); Date preconnect = start;// ww w . ja va 2 s .c o m Date postconnect = start; Date prejson = start; Date postjson = start; JSONObject j = new JSONObject("{}"); BufferedInputStream i = null; String rawcontent = ""; int available = 0; int responsecode = 0; long cl = 0; try { if (url.contains("?") && !url.contains("oembed?")) { url += "&utcnow=" + System.currentTimeMillis(); } else { if (!url.contains("oembed?")) { url += "?utcnow=" + System.currentTimeMillis(); } } URL u = new URL(url); HttpsURLConnection c = (HttpsURLConnection) u.openConnection(); c.setRequestMethod(type.name()); c.setUseCaches(false); c.setDefaultUseCaches(false); c.setConnectTimeout(5000); c.setReadTimeout(5000); c.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.52 Safari/537.36 PhantomBotJ/2015"); c.setRequestProperty("Content-Type", "application/json-rpc"); c.setRequestProperty("Content-length", "0"); if (!post.isEmpty()) { c.setDoOutput(true); } preconnect = new Date(); c.connect(); postconnect = new Date(); if (!post.isEmpty()) { try (BufferedOutputStream o = new BufferedOutputStream(c.getOutputStream())) { IOUtils.write(post, o); } } String content; cl = c.getContentLengthLong(); responsecode = c.getResponseCode(); if (c.getResponseCode() == 200) { i = new BufferedInputStream(c.getInputStream()); } else { i = new BufferedInputStream(c.getErrorStream()); } /* * if (i != null) { available = i.available(); * * while (available == 0 && (new Date().getTime() - * postconnect.getTime()) < 450) { Thread.sleep(500); available = * i.available(); } * * if (available == 0) { i = new * BufferedInputStream(c.getErrorStream()); * * if (i != null) { available = i.available(); } } } * * if (available == 0) { content = "{}"; } else { content = * IOUtils.toString(i, c.getContentEncoding()); } */ content = IOUtils.toString(i, c.getContentEncoding()); rawcontent = content; prejson = new Date(); j = new JSONObject(content); j.put("_success", true); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", c.getResponseCode()); j.put("_available", available); j.put("_exception", ""); j.put("_exceptionMessage", ""); j.put("_content", content); postjson = new Date(); } catch (JSONException ex) { if (ex.getMessage().contains("A JSONObject text must begin with")) { j = new JSONObject("{}"); j.put("_success", true); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "MalformedJSONData (HTTP " + responsecode + ")"); j.put("_exceptionMessage", ""); j.put("_content", rawcontent); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (NullPointerException ex) { com.gmt2001.Console.err.printStackTrace(ex); } catch (MalformedURLException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "MalformedURLException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (PhantomBot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (SocketTimeoutException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "SocketTimeoutException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (PhantomBot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (IOException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "IOException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (PhantomBot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (Exception ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "Exception [" + ex.getClass().getName() + "]"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (PhantomBot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } if (i != null) { try { i.close(); } catch (IOException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_available", available); j.put("_exception", "IOException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); if (PhantomBot.enableDebugging) { com.gmt2001.Console.err.printStackTrace(ex); } else { com.gmt2001.Console.err.logStackTrace(ex); } } } if (PhantomBot.enableDebugging) { com.gmt2001.Console.out.println(">>>[DEBUG] YouTubeAPIv3.GetData Timers " + (preconnect.getTime() - start.getTime()) + " " + (postconnect.getTime() - start.getTime()) + " " + (prejson.getTime() - start.getTime()) + " " + (postjson.getTime() - start.getTime()) + " " + start.toString() + " " + postjson.toString()); com.gmt2001.Console.out.println(">>>[DEBUG] YouTubeAPIv3.GetData Exception " + j.getString("_exception") + " " + j.getString("_exceptionMessage")); com.gmt2001.Console.out.println(">>>[DEBUG] YouTubeAPIv3.GetData HTTP/Available " + j.getInt("_http") + "(" + responsecode + ")/" + j.getInt("_available") + "(" + cl + ")"); com.gmt2001.Console.out.println(">>>[DEBUG] YouTubeAPIv3.GetData RawContent[0,100] " + j.getString("_content").substring(0, Math.min(100, j.getString("_content").length()))); } return j; }
From source file:in.rab.ordboken.NeClient.java
private String fetchMainSitePage(String pageUrl) throws IOException, LoginException, ParserException { URL url = new URL(pageUrl); HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); urlConnection.setInstanceFollowRedirects(false); urlConnection.connect();// ww w . jav a 2 s. co m int response; try { response = urlConnection.getResponseCode(); } catch (IOException e) { urlConnection.disconnect(); throw e; } if (response == 302) { urlConnection.disconnect(); try { loginMainSite(); } catch (EOFException e) { // Same EOFException as on token refreshes. Seems to be a POST thing. loginMainSite(); } url = new URL(pageUrl); urlConnection = (HttpsURLConnection) url.openConnection(); urlConnection.setInstanceFollowRedirects(false); urlConnection.connect(); try { response = urlConnection.getResponseCode(); } catch (IOException e) { urlConnection.disconnect(); throw e; } } try { if (response != 200) { throw new ParserException("Unable to get page: " + response); } return inputStreamToString(urlConnection.getInputStream()); } finally { urlConnection.disconnect(); } }
From source file:org.wso2.am.integration.tests.other.APIImportExportTestCase.java
/** * Upload a file to the given URL/*from w ww.j av a 2s. co m*/ * * @param importUrl URL to be file upload * @param fileName Name of the file to be upload * @throws IOException throws if connection issues occurred */ private void importAPI(String importUrl, File fileName, String user, char[] pass) throws IOException { //open import API url connection and deploy the exported API URL url = new URL(importUrl); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection(); connection.setHostnameVerifier(new HostnameVerifier() { @Override public boolean verify(String s, SSLSession sslSession) { return true; } }); connection.setDoOutput(true); connection.setRequestMethod("POST"); FileBody fileBody = new FileBody(fileName); MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.STRICT); multipartEntity.addPart("file", fileBody); connection.setRequestProperty("Content-Type", multipartEntity.getContentType().getValue()); connection.setRequestProperty(APIMIntegrationConstants.AUTHORIZATION_HEADER, "Basic " + encodeCredentials(user, pass)); OutputStream out = connection.getOutputStream(); try { multipartEntity.writeTo(out); } finally { out.close(); } int status = connection.getResponseCode(); BufferedReader read = new BufferedReader(new InputStreamReader(connection.getInputStream())); String temp; StringBuilder response = new StringBuilder(); while ((temp = read.readLine()) != null) { response.append(temp); } Assert.assertEquals(status, HttpStatus.SC_CREATED, "Response code is not as expected : " + response); }
From source file:no.digipost.android.api.ApiAccess.java
public String postput(Context context, final int httpType, final String uri, final StringEntity json) throws DigipostClientException, DigipostApiException, DigipostAuthenticationException { HttpsURLConnection httpsClient; InputStream result = null;// w w w.j av a2 s . c om try { URL url = new URL(uri); httpsClient = (HttpsURLConnection) url.openConnection(); if (httpType == POST) { httpsClient.setRequestMethod("POST"); } else if (httpType == PUT) { httpsClient.setRequestMethod("PUT"); } httpsClient.setRequestProperty(ApiConstants.CONTENT_TYPE, ApiConstants.APPLICATION_VND_DIGIPOST_V2_JSON); httpsClient.setRequestProperty(ApiConstants.ACCEPT, ApiConstants.APPLICATION_VND_DIGIPOST_V2_JSON); httpsClient.setRequestProperty(ApiConstants.AUTHORIZATION, ApiConstants.BEARER + TokenStore.getAccess()); OutputStream outputStream; outputStream = new BufferedOutputStream(httpsClient.getOutputStream()); if (json != null) { json.writeTo(outputStream); } outputStream.flush(); int statusCode = httpsClient.getResponseCode(); try { NetworkUtilities.checkHttpStatusCode(context, statusCode); } catch (DigipostInvalidTokenException e) { OAuth.updateAccessTokenWithRefreshToken(context); return postput(context, httpType, uri, json); } if (statusCode == NetworkUtilities.HTTP_STATUS_NO_CONTENT) { return NetworkUtilities.SUCCESS_NO_CONTENT; } try { result = httpsClient.getInputStream(); } catch (IllegalStateException e) { Log.e(TAG, e.getMessage()); } } catch (IOException e) { throw new DigipostClientException(context.getString(R.string.error_your_network)); } return JSONUtilities.getJsonStringFromInputStream(result); }
From source file:com.citrus.mobile.RESTclient.java
public JSONObject makeWithdrawRequest(String accessToken, double amount, String currency, String owner, String accountNumber, String ifscCode) { HttpsURLConnection conn; DataOutputStream wr = null;/*w ww. j a v a2 s .c o m*/ JSONObject txnDetails = null; BufferedReader in = null; try { String url = urls.getString(base_url) + urls.getString(type); conn = (HttpsURLConnection) new URL(url).openConnection(); //add reuqest header conn.setRequestMethod("POST"); conn.setRequestProperty("Authorization", "Bearer " + accessToken); StringBuffer buff = new StringBuffer("amount="); buff.append(amount); buff.append("¤cy="); buff.append(currency); buff.append("&owner="); buff.append(owner); buff.append("&account="); buff.append(accountNumber); buff.append("&ifsc="); buff.append(ifscCode); conn.setDoOutput(true); wr = new DataOutputStream(conn.getOutputStream()); wr.writeBytes(buff.toString()); wr.flush(); int responseCode = conn.getResponseCode(); System.out.println("\nSending 'POST' request to URL : " + url); System.out.println("Post parameters : " + buff.toString()); System.out.println("Response Code : " + responseCode); in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } txnDetails = new JSONObject(response.toString()); } catch (JSONException exception) { exception.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { e.printStackTrace(); } } try { if (wr != null) { wr.close(); } } catch (IOException e) { e.printStackTrace(); } } return txnDetails; }
From source file:com.carvoyant.modularinput.Program.java
private JSONObject getRefreshToken(EventWriter ew, String clientId, String clientSecret, String refreshToken) { JSONObject tokenJson = null;/*from w w w .j a va 2 s.c o m*/ HttpsURLConnection getTokenConnection = null; try { BufferedReader tokenResponseReader = null; URL url = new URL("https://api.carvoyant.com/oauth/token"); // URL url = new URL("https://sandbox-api.carvoyant.com/sandbox/oauth/token"); getTokenConnection = (HttpsURLConnection) url.openConnection(); getTokenConnection.setReadTimeout(30000); getTokenConnection.setConnectTimeout(30000); getTokenConnection.setRequestMethod("POST"); getTokenConnection.setDoInput(true); getTokenConnection.setDoOutput(true); List<SimpleEntry> getTokenParams = new ArrayList<SimpleEntry>(); getTokenParams.add(new SimpleEntry("client_id", clientId)); getTokenParams.add(new SimpleEntry("client_secret", clientSecret)); getTokenParams.add(new SimpleEntry("grant_type", "refresh_token")); getTokenParams.add(new SimpleEntry("refresh_token", refreshToken)); String userpass = clientId + ":" + clientSecret; String basicAuth = "Basic " + javax.xml.bind.DatatypeConverter.printBase64Binary(userpass.getBytes()); getTokenConnection.setRequestProperty("Authorization", basicAuth); OutputStream os = getTokenConnection.getOutputStream(); os.write(getQuery(getTokenParams).getBytes("UTF-8")); os.close(); if (getTokenConnection.getResponseCode() < 400) { tokenResponseReader = new BufferedReader( new InputStreamReader(getTokenConnection.getInputStream())); String inputLine; StringBuffer sb = new StringBuffer(); while ((inputLine = tokenResponseReader.readLine()) != null) { sb.append(inputLine); } tokenJson = new JSONObject(sb.toString()); ew.synchronizedLog(EventWriter.INFO, "Refreshed Carvoyant access token."); } else { tokenResponseReader = new BufferedReader( new InputStreamReader(getTokenConnection.getErrorStream())); StringBuffer sb = new StringBuffer(); String inputLine; while ((inputLine = tokenResponseReader.readLine()) != null) { sb.append(inputLine); } ew.synchronizedLog(EventWriter.ERROR, "Carvoyant Refresh Token Error. CLIENT_ID:" + clientId + ", REFRESH_TOKEN:" + refreshToken + ",ERROR_MSG: " + sb.toString()); } getTokenConnection.disconnect(); } catch (MalformedURLException mue) { ew.synchronizedLog(EventWriter.ERROR, "Carvoyant Refresh Token Error: " + mue.getMessage()); } catch (IOException ioe) { ew.synchronizedLog(EventWriter.ERROR, "Carvoyant Refresh Token Error: " + ioe.getMessage()); } finally { if (null != getTokenConnection) { getTokenConnection.disconnect(); } } return tokenJson; }
From source file:com.tune.reporting.base.service.TuneServiceProxy.java
/** * Post request to TUNE Service API Service * * @return Boolean True if successful posting request, else False. * @throws TuneSdkException If error within SDK. *//*from w w w .j a v a 2 s .c o m*/ protected boolean postRequest() throws TuneSdkException { URL url = null; HttpsURLConnection conn = null; try { url = new URL(this.uri); } catch (MalformedURLException ex) { throw new TuneSdkException(String.format("Problems executing request: %s: %s: '%s'", this.uri, ex.getClass().toString(), ex.getMessage()), ex); } try { // connect to the server over HTTPS and submit the payload conn = (HttpsURLConnection) url.openConnection(); // Create the SSL connection SSLContext sc; sc = SSLContext.getInstance("TLS"); sc.init(null, null, new java.security.SecureRandom()); conn.setSSLSocketFactory(sc.getSocketFactory()); conn.setRequestMethod("GET"); conn.setUseCaches(false); conn.setAllowUserInteraction(false); conn.connect(); // Gets the status code from an HTTP response message. final int responseHttpCode = conn.getResponseCode(); // Returns an unmodifiable Map of the header fields. // The Map keys are Strings that represent the response-header // field names. Each Map value is an unmodifiable List of Strings // that represents the corresponding field values. final Map<String, List<String>> responseHeaders = conn.getHeaderFields(); final String requestUrl = url.toString(); // Gets the HTTP response message, if any, returned along // with the response code from a server. String responseRaw = conn.getResponseMessage(); // Pull entire JSON raw response BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuilder sb = new StringBuilder(); String line; while ((line = br.readLine()) != null) { sb.append(line + "\n"); } br.close(); responseRaw = sb.toString(); // decode to JSON JSONObject responseJson = new JSONObject(responseRaw); this.response = new TuneServiceResponse(responseRaw, responseJson, responseHttpCode, responseHeaders, requestUrl.toString()); } catch (Exception ex) { throw new TuneSdkException(String.format("Problems executing request: %s: '%s'", ex.getClass().toString(), ex.getMessage()), ex); } return true; }
From source file:com.gmt2001.TwitchAPIv3.java
@SuppressWarnings("UseSpecificCatch") private JSONObject GetData(request_type type, String url, String post, String oauth, boolean isJson) { JSONObject j = new JSONObject("{}"); InputStream i = null;//w ww . jav a2 s. c o m String rawcontent = ""; try { if (url.contains("?")) { url += "&utcnow=" + System.currentTimeMillis(); } else { url += "?utcnow=" + System.currentTimeMillis(); } URL u = new URL(url); HttpsURLConnection c = (HttpsURLConnection) u.openConnection(); c.addRequestProperty("Accept", header_accept); if (isJson) { c.addRequestProperty("Content-Type", "application/json"); } else { c.addRequestProperty("Content-Type", "application/x-www-form-urlencoded"); } if (!clientid.isEmpty()) { c.addRequestProperty("Client-ID", clientid); } if (!oauth.isEmpty()) { c.addRequestProperty("Authorization", "OAuth " + oauth); } c.setRequestMethod(type.name()); c.setUseCaches(false); c.setDefaultUseCaches(false); c.setConnectTimeout(timeout); c.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.52 Safari/537.36 PhantomBotJ/2015"); if (!post.isEmpty()) { c.setDoOutput(true); } c.connect(); if (!post.isEmpty()) { try (OutputStream o = c.getOutputStream()) { IOUtils.write(post, o); } } String content; if (c.getResponseCode() == 200) { i = c.getInputStream(); } else { i = c.getErrorStream(); } if (c.getResponseCode() == 204 || i == null) { content = "{}"; } else { content = IOUtils.toString(i, c.getContentEncoding()); } rawcontent = content; j = new JSONObject(content); j.put("_success", true); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", c.getResponseCode()); j.put("_exception", ""); j.put("_exceptionMessage", ""); j.put("_content", content); } catch (JSONException ex) { if (ex.getMessage().contains("A JSONObject text must begin with")) { j = new JSONObject("{}"); j.put("_success", true); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_exception", ""); j.put("_exceptionMessage", ""); j.put("_content", rawcontent); } else { com.gmt2001.Console.err.logStackTrace(ex); } } catch (NullPointerException ex) { com.gmt2001.Console.err.printStackTrace(ex); } catch (MalformedURLException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_exception", "MalformedURLException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); com.gmt2001.Console.err.logStackTrace(ex); } catch (SocketTimeoutException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_exception", "SocketTimeoutException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); com.gmt2001.Console.err.logStackTrace(ex); } catch (IOException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_exception", "IOException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); com.gmt2001.Console.err.logStackTrace(ex); } catch (Exception ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_exception", "Exception [" + ex.getClass().getName() + "]"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); com.gmt2001.Console.err.logStackTrace(ex); } if (i != null) { try { i.close(); } catch (IOException ex) { j.put("_success", false); j.put("_type", type.name()); j.put("_url", url); j.put("_post", post); j.put("_http", 0); j.put("_exception", "IOException"); j.put("_exceptionMessage", ex.getMessage()); j.put("_content", ""); com.gmt2001.Console.err.logStackTrace(ex); } } return j; }
From source file:com.wwpass.connection.WWPassConnection.java
private InputStream makeRequest(String method, String command, Map<String, ?> parameters) throws IOException, WWPassProtocolException { String commandUrl = SpfeURL + command + ".xml"; //String command_url = SpfeURL + command + ".json"; StringBuilder sb = new StringBuilder(); URLCodec codec = new URLCodec(); @SuppressWarnings("unchecked") Map<String, Object> localParams = (Map<String, Object>) parameters; for (Map.Entry<String, Object> entry : localParams.entrySet()) { sb.append(URLEncoder.encode(entry.getKey(), "UTF-8")); sb.append("="); if (entry.getValue() instanceof String) { sb.append(URLEncoder.encode((String) entry.getValue(), "UTF-8")); } else {//from w ww .ja v a 2 s. c om sb.append(new String(codec.encode((byte[]) entry.getValue()))); } sb.append("&"); } String paramsString = sb.toString(); sb = null; if ("GET".equalsIgnoreCase(method)) { commandUrl += "?" + paramsString; } else if ("POST".equalsIgnoreCase(method)) { } else { throw new IllegalArgumentException("Method " + method + " not supported."); } HttpsURLConnection conn = null; try { URL url = new URL(commandUrl); conn = (HttpsURLConnection) url.openConnection(); conn.setReadTimeout(timeoutMs); conn.setSSLSocketFactory(SPFEContext.getSocketFactory()); if ("POST".equalsIgnoreCase(method)) { conn.setDoOutput(true); OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream()); writer.write(paramsString); writer.flush(); } InputStream in = conn.getInputStream(); return getReplyData(in); } catch (MalformedURLException e) { throw new IllegalArgumentException("Command-parameters combination is invalid: " + e.getMessage()); } finally { if (conn != null) { conn.disconnect(); } } }