package com.pastebin.pastebinplugin;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* Send code to pastebin.com.
* @author aNNiMON
*/
public class PastebinSender {
private static final String POST_URL = "http://pastebin.com/api/api_post.php";
private static final String USER_LOGIN_URL = "http://pastebin.com/api/api_login.php";
/**
* Send request to create new paste.
* @param request @see http://pastebin.com/api
* @return pasted url or error message.
*/
public static String sendRequest(String request) {
return sendRequest(request, POST_URL);
}
/**
* Get user key in member system.
* @param request @see http://pastebin.com/api
* @return user key or error message.
*/
public static String getUserKey(String request) {
return sendRequest(request, USER_LOGIN_URL);
}
private static String sendRequest(String request, String connectUrl) {
try {
URL url = new URL(connectUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("POST");
httpConn.setInstanceFollowRedirects(false);
httpConn.setDoOutput(true);
httpConn.connect();
OutputStreamWriter out = new OutputStreamWriter(httpConn.getOutputStream());
out.write(request);
out.flush();
StringBuilder response = new StringBuilder();
BufferedReader in = new BufferedReader( new InputStreamReader(httpConn.getInputStream()) );
String line;
while ((line = in.readLine()) != null) {
response.append(line).append('\n');
}
in.close();
return response.toString();
} catch (Exception ex) {
return "Error";
}
}
}