Advertisement
Guest User

Untitled

a guest
Apr 25th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.28 KB | None | 0 0
  1. package apitesting;
  2.  
  3. import org.glassfish.jersey.internal.util.Base64;
  4.  
  5. import java.io.BufferedReader;
  6. import java.io.DataOutputStream;
  7. import java.io.InputStreamReader;
  8. import java.net.URL;
  9. import javax.net.ssl.HttpsURLConnection;
  10.  
  11. /**
  12.  * @author Charlotte
  13.  */
  14. public class ApiTesting {
  15.  
  16.     static String basic;
  17.     static String clientId = "34f3aa8cf2274f8195d89e679b953bd1";
  18.     static String clientSecret = "9B4fxyYIXm9vkOSgeNnMXbNlsC4tL3xP7XB69pRG";
  19.     static private String refreshToken = "XOFpePh5YVqjszuFs8hla-UjfM1QEc9xVHSsOhpXkXCvcKxdRwArKd8maDlCEpLzQ2llaP6i5U9VD6r90uWtM8a2kGKs2J_4OII_6GzxFHvaW7Mf88b9S5DPHvtml00NWNaCz5sWmOQEsvYj3kL8C0uQY-bKn7twHNazWpFh93iuafkzKJ6D-gTecjKHyD4f2MtZmU61yTu2pkRV1NShRw_jXMyp5wTIvTEp2rxCzO41";
  20.     static private String accessToken = "";
  21.  
  22.     public static void main(String[] args) throws Exception {
  23.         basic = Base64.encodeAsString(clientId + ":" + clientSecret);
  24.         sendPost();
  25.         String newAccessToken = newAccessToken();
  26.     }
  27.  
  28.     public static String newAccessToken() {
  29.         try {
  30.             String url = "https://login.eveonline.com/oauth/token";
  31.             URL obj = new URL(url);
  32.  
  33.             HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
  34.  
  35.             //set Request Headers
  36.             //System.out.println(basic);
  37.             con.setRequestMethod("POST");
  38.             con.setRequestProperty("Authorization", "Basic " + basic);
  39.             con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  40.             con.setRequestProperty("Host", "login.eveonline.com");
  41.  
  42.             String urlParameters = "grant_type=refresh_token&refresh_token=" + refreshToken;
  43.  
  44.             // Send post request
  45.             con.setDoOutput(true);
  46.             DataOutputStream wr = new DataOutputStream(con.getOutputStream());
  47.             wr.writeBytes(urlParameters);
  48.             wr.flush();
  49.             wr.close();
  50.  
  51.             //getResponseInformation
  52.             int responseCode = con.getResponseCode();
  53.             System.out.println("\nSending 'POST' request to URL : " + url);
  54.             System.out.println("Post parameters : " + urlParameters);
  55.             System.out.println("Response Code : " + responseCode);
  56.             System.out.println(con.getResponseMessage());
  57.  
  58.             //get input
  59.             BufferedReader in = new BufferedReader(
  60.                     new InputStreamReader(con.getInputStream()));
  61.             String inputLine;
  62.             StringBuffer response = new StringBuffer();
  63.             //System.out.println(in.readLine());
  64.             while ((inputLine = in.readLine()) != null) {
  65.                 response.append(inputLine);
  66.             }
  67.             in.close();
  68.  
  69.             //print result
  70.             String resp = (response.toString());
  71.  
  72.             //get substring for accessToken
  73.             String returnString = "";
  74.             getAccessLoop:
  75.             for (int i = 0; i < resp.length(); i++) {
  76.                 if (resp.charAt(i) == ':' && resp.charAt(i + 1) == '"') {
  77.                     for (int j = i + 2; j < resp.length(); j++) {
  78.                         if (resp.charAt(j) != '"') {
  79.                             returnString += resp.charAt(j);
  80.                         } else {
  81.                             break getAccessLoop;
  82.                         }
  83.                     }
  84.                 }
  85.             }
  86.  
  87.             System.out.println(returnString);
  88.             accessToken = returnString;
  89.             return returnString;
  90.         } catch (Exception e) {
  91.             //e.printStackTrace();
  92.             return accessToken;
  93.         }
  94.  
  95.     }
  96.  
  97.     private static void sendPost() throws Exception {
  98.         String url = "https://login.eveonline.com/oauth/token";
  99.         URL obj = new URL(url);
  100.         //System.out.println(((HttpsURLConnection) obj.openConnection()).getRequestMethod());
  101.         HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
  102.         //add reuqest header
  103.  
  104.         System.out.println(basic);
  105.         con.setRequestMethod("POST");
  106.         con.setRequestProperty("Authorization", "Basic " + basic);
  107.         con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  108.         con.setRequestProperty("Host", "login.eveonline.com");
  109.  
  110.         String urlParameters = "grant_type=refresh_token&refresh_token=" + refreshToken;
  111.  
  112.         // Send post request
  113.         con.setDoOutput(true);
  114.         DataOutputStream wr = new DataOutputStream(con.getOutputStream());
  115.         wr.writeBytes(urlParameters);
  116.         wr.flush();
  117.         wr.close();
  118.  
  119.         int responseCode = con.getResponseCode();
  120.         System.out.println("\nSending 'POST' request to URL : " + url);
  121.         System.out.println("Post parameters : " + urlParameters);
  122.         System.out.println("Response Code : " + responseCode);
  123.         System.out.println(con.getResponseMessage());
  124.  
  125.         BufferedReader in = new BufferedReader(
  126.                 new InputStreamReader(con.getInputStream()));
  127.         String inputLine;
  128.         StringBuffer response = new StringBuffer();
  129.         System.out.println(in.readLine());
  130.         while ((inputLine = in.readLine()) != null) {
  131.             response.append(inputLine);
  132.         }
  133.         in.close();
  134.  
  135.         //print result
  136.         System.out.println(response.toString());
  137.     }
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement