List of usage examples for javax.net.ssl HttpsURLConnection getContentLengthLong
public long getContentLengthLong()
From source file:com.gloriouseggroll.LastFMAPI.java
@SuppressWarnings({ "null", "SleepWhileInLoop", "UseSpecificCatch" })
private JSONObject GetData(request_type type, String url, String post) {
Date start = new Date();
Date preconnect = start;//from w w w . j a 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 {
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] LastFMAPI.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] LastFMAPI.GetData Exception " + j.getString("_exception")
+ " " + j.getString("_exceptionMessage"));
com.gmt2001.Console.out.println(">>>[DEBUG] LastFMAPI.GetData HTTP/Available " + j.getInt("_http") + "("
+ responsecode + ")/" + j.getInt("_available") + "(" + cl + ")");
com.gmt2001.Console.out.println(">>>[DEBUG] LastFMAPI.GetData RawContent[0,100] "
+ j.getString("_content").substring(0, Math.min(100, j.getString("_content").length())));
}
return j;
}
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 a2s. 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;/*w ww . j ava 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 {
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;
}