Projects >> VirginMobileMinutesChecker >>3f45da217eb9a1c2e66e29463ec20c35e6aa1453

Chunk
Conflicting content
import org.apache.http.conn.ssl.AllowAllHostnameVerifier;

<<<<<<< HEAD
public class WebsiteScraper {

   public static String fetchScreen(String username, String password) {
      String line = "";

      try {
         TrustManager[] trustAllCerts = new TrustManager[]{
            new X509TrustManager() {
               public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                  return null;
               }
               public void checkClientTrusted(
                     java.security.cert.X509Certificate[] certs, String authType) {
               }
               public void checkServerTrusted(
                     java.security.cert.X509Certificate[] certs, String authType) {
               }
            }
         };

         String url = "https://www1.virginmobileusa.com/login/login.do";    
         //String url = "https://www1.virginmobileusa.com/login/login.do";    
         //   String url = "https://www1.virginmobileusa.com/myaccount/home.do";



         try {
            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
         } catch (Exception e) {
            e.getMessage();
         }

         //HttpsURLConnection.setFollowRedirects(true);

         HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection();
         ((HttpsURLConnection) connection).setHostnameVerifier(new AllowAllHostnameVerifier());

         //connection.setFollowRedirects(true);


         connection.setDoOutput(true);

         // try {
         //Thread.sleep(5000);
         OutputStreamWriter out = new OutputStreamWriter(
               connection.getOutputStream());
         out.write("loginRoutingInfo=&min=" + username + "&vkey=" + password + "&submit=submit");
         out.close();
         //} catch (IOException e) {
         //   e.printStackTrace();
         // }


         //connection.connect();

         InputStreamReader in = new InputStreamReader((InputStream) connection.getContent());

         BufferedReader buff = new BufferedReader(in);

         StringBuilder sb = new StringBuilder();

         while ((line = buff.readLine()) != null) {
            sb.append(line);
         }

         int mainContentIndex = sb.indexOf("id=\"mainContent\"");
         if (mainContentIndex == -1) {
            line = "";
         } else {
            line = sb.substring(mainContentIndex);
         }

         connection.disconnect();
      } catch (Exception e) {
         e.printStackTrace();
         //System.err.println("exception 83");

         //System.err.println(e.getMessage());
         //System.err.println(line);
         return line;
         //rc.put("isValid", "FALSE");
      }
      //line = null;
      if (line == null) {
         line = "";
      }
      //System.err.println(line);
      return line;
   }


   public static Map parseInfo(String line) {
      Map rc = new HashMap();

      if (line == null) {
         rc.put("isValid", "FALSE");
         return rc;
      }


      String srch;
      int start;
      int end;

      srch = "

"; start = line.indexOf(srch); end = line.indexOf("

", start); if (start < 0) { rc.put("isValid", "FALSE"); return rc; } else { rc.put("isValid", "TRUE"); } // virginInfo.append("Phone Number: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Phone Number", line.substring(start + srch.length(), end)); srch = "

Monthly Charge

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Monthly Charge: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Monthly Charge", line.substring(start + srch.length(), end)); srch = "

Current Balance

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Current Balance: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Current Balance", line.substring(start + srch.length(), end)); srch = "

Min. Amount Due

"; start = line.indexOf(srch); end = line.indexOf("

", start); //virginInfo.append("Amount Due: "); //virginInfo.append(line.substring(start + srch.length(), end)); //virginInfo.append("\n"); if ((start > 0) && (end > 0)) { rc.put("Amount Due", line.substring(start + srch.length(), end)); } // srch = "

Date Due

"; // start = line.indexOf(srch); // end = line.indexOf("

", start); // virginInfo.append("Due Date: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); //if ((start > 0) && (end > 0)) { // rc.put("Date Due", line.substring(start + srch.length(), end)); // } srch = "

Charge Will be deducted on

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Due Date: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); if ((start > 0) && (end > 0)) { rc.put("Charge Deducted", line.substring(start + srch.length(), end)); } srch = "

You will be charged on

"; start = line.indexOf(srch); end = line.indexOf("

", start); if ((start > 0) && (end > 0)) { rc.put("Charged on", line.substring(start + srch.length(), end)); } // rc.put("Charged on", "02/05/11"); srch = "

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Minutes Used: "); // virginInfo.append(line.substring(start + srch.length(), end).replaceFirst("", "")); // virginInfo.append("\n"); rc.put("Minutes Used", line.substring(start + srch.length(), end).replaceFirst("", "")); // rc.put("info", virginInfo.toString()); return rc; } public static Map getInfo(String username, String password) { String line = fetchScreen(username, password); // Log.d("DEBUG", "Line: "+line); return parseInfo(line); } ======= public class WebsiteScraper { public static String fetchScreen(final String username, final String password) { String line = ""; try { final TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } @Override public void checkClientTrusted( final java.security.cert.X509Certificate[] certs, final String authType) { } @Override public void checkServerTrusted( final java.security.cert.X509Certificate[] certs, final String authType) { } } }; final String url = "https://www1.virginmobileusa.com/login/login.do"; // String url = "https://www1.virginmobileusa.com/login/login.do"; // String url = // "https://www1.virginmobileusa.com/myaccount/home.do"; try { final SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc .getSocketFactory()); } catch (final Exception e) { e.getMessage(); } // HttpsURLConnection.setFollowRedirects(true); final HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection(); connection.setHostnameVerifier(new AllowAllHostnameVerifier()); // connection.setFollowRedirects(true); connection.setDoOutput(true); // try { //Thread.sleep(5000); final OutputStreamWriter out = new OutputStreamWriter( connection.getOutputStream()); out.write("loginRoutingInfo=&min=" + username + "&vkey=" + password + "&submit=submit"); out.close(); // } catch (IOException e) { // e.printStackTrace(); // } // connection.connect(); final InputStreamReader in = new InputStreamReader( (InputStream) connection.getContent()); final BufferedReader buff = new BufferedReader(in); StringBuilder sb = new StringBuilder(); while ((line = buff.readLine()) != null) { sb.append(line); } int mainContentIndex = sb.indexOf("id=\"mainContent\""); if (mainContentIndex == -1) { line = ""; } else { line = sb.substring(mainContentIndex); } connection.disconnect(); } catch (final Exception e) { e.printStackTrace(); // System.err.println("exception 83"); // System.err.println(e.getMessage()); // System.err.println(line); return line; // rc.put("isValid", "FALSE"); } // line = null; if (line == null) { line = ""; } // System.err.println(line); return line; } public static Map parseInfo(final String line) { final Map rc = new HashMap(); if (line == null) { rc.put("isValid", "FALSE"); return rc; } String srch; int start; int end; srch = "

"; start = line.indexOf(srch); end = line.indexOf("

", start); if (start < 0) { rc.put("isValid", "FALSE"); return rc; } else { rc.put("isValid", "TRUE"); } // virginInfo.append("Phone Number: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Phone Number", line.substring(start + srch.length(), end)); srch = "

Monthly Charge

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Monthly Charge: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Monthly Charge", line.substring(start + srch.length(), end)); srch = "

Current Balance

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Current Balance: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Current Balance", line.substring(start + srch.length(), end)); srch = "

Min. Amount Due

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Amount Due: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); if ((start > 0) && (end > 0)) { rc.put("Amount Due", line.substring(start + srch.length(), end)); } // srch = "

Date Due

"; // start = line.indexOf(srch); // end = line.indexOf("

", start); // virginInfo.append("Due Date: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); // if ((start > 0) && (end > 0)) { // rc.put("Date Due", line.substring(start + srch.length(), end)); // } srch = "

Charge Will be deducted on

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Due Date: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); if ((start > 0) && (end > 0)) { rc.put("Charge Deducted", line.substring(start + srch.length(), end)); } srch = "

You will be charged on

"; start = line.indexOf(srch); end = line.indexOf("

", start); if ((start > 0) && (end > 0)) { rc.put("Charged on", line.substring(start + srch.length(), end)); } // rc.put("Charged on", "02/05/11"); srch = "

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Minutes Used: "); // virginInfo.append(line.substring(start + srch.length(), // end).replaceFirst("", "")); // virginInfo.append("\n"); rc.put("Minutes Used", line.substring(start + srch.length(), end) .replaceFirst("", "")); // rc.put("info", virginInfo.toString()); return rc; } public static Map getInfo(final String username, final String password) { final String line = fetchScreen(username, password); // Log.d("DEBUG", "Line: "+line); return parseInfo(line); } >>>>>>> 4ab4979ccb9e1e43128c1c7f462a8f974a659453 }
Solution content
import org.apache.http.conn.ssl.AllowAllHostnameVerifier;

public class WebsiteScraper {

   public static String fetchScreen(String username, String password) {
      String line = "";

      try {
         TrustManager[] trustAllCerts = new TrustManager[]{
            new X509TrustManager() {
               public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                  return null;
               }
               public void checkClientTrusted(
                     java.security.cert.X509Certificate[] certs, String authType) {
               }
               public void checkServerTrusted(
                     java.security.cert.X509Certificate[] certs, String authType) {
               }
            }
         };

         String url = "https://www1.virginmobileusa.com/login/login.do";    
         //String url = "https://www1.virginmobileusa.com/login/login.do";    
         //   String url = "https://www1.virginmobileusa.com/myaccount/home.do";



         try {
            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
         } catch (Exception e) {
            e.getMessage();
         }

         //HttpsURLConnection.setFollowRedirects(true);

         HttpsURLConnection connection = (HttpsURLConnection) new URL(url).openConnection();
         ((HttpsURLConnection) connection).setHostnameVerifier(new AllowAllHostnameVerifier());

         //connection.setFollowRedirects(true);


         connection.setDoOutput(true);

         // try {
         //Thread.sleep(5000);
         OutputStreamWriter out = new OutputStreamWriter(
               connection.getOutputStream());
         out.write("loginRoutingInfo=&min=" + username + "&vkey=" + password + "&submit=submit");
         out.close();
         //} catch (IOException e) {
         //   e.printStackTrace();
         // }


         //connection.connect();

         InputStreamReader in = new InputStreamReader((InputStream) connection.getContent());

         BufferedReader buff = new BufferedReader(in);

         StringBuilder sb = new StringBuilder();

         while ((line = buff.readLine()) != null) {
            sb.append(line);
         }

         int mainContentIndex = sb.indexOf("id=\"mainContent\"");
         if (mainContentIndex == -1) {
            line = "";
         } else {
            line = sb.substring(mainContentIndex);
         }

         connection.disconnect();
      } catch (Exception e) {
         e.printStackTrace();
         //System.err.println("exception 83");
         //System.err.println(e.getMessage());
         //System.err.println(line);
         return line;
         //rc.put("isValid", "FALSE");
      }
      //line = null;
      if (line == null) {
         line = "";
      }
      //System.err.println(line);
      return line;
   }


   public static Map parseInfo(String line) {
      Map rc = new HashMap();

      if (line == null) {
         rc.put("isValid", "FALSE");
         return rc;
      }


      String srch;
      int start;
      int end;

      srch = "

"; start = line.indexOf(srch); end = line.indexOf("

", start); if (start < 0) { rc.put("isValid", "FALSE"); return rc; } else { rc.put("isValid", "TRUE"); } // virginInfo.append("Phone Number: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Phone Number", line.substring(start + srch.length(), end)); srch = "

Monthly Charge

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Monthly Charge: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Monthly Charge", line.substring(start + srch.length(), end)); srch = "

Current Balance

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Current Balance: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); rc.put("Current Balance", line.substring(start + srch.length(), end)); srch = "

Min. Amount Due

"; start = line.indexOf(srch); end = line.indexOf("

", start); //virginInfo.append("Amount Due: "); //virginInfo.append(line.substring(start + srch.length(), end)); //virginInfo.append("\n"); if ((start > 0) && (end > 0)) { rc.put("Amount Due", line.substring(start + srch.length(), end)); } // srch = "

Date Due

"; // start = line.indexOf(srch); // end = line.indexOf("

", start); // virginInfo.append("Due Date: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); //if ((start > 0) && (end > 0)) { // rc.put("Date Due", line.substring(start + srch.length(), end)); // } srch = "

Charge Will be deducted on

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Due Date: "); // virginInfo.append(line.substring(start + srch.length(), end)); // virginInfo.append("\n"); if ((start > 0) && (end > 0)) { rc.put("Charge Deducted", line.substring(start + srch.length(), end)); } srch = "

You will be charged on

"; start = line.indexOf(srch); end = line.indexOf("

", start); if ((start > 0) && (end > 0)) { rc.put("Charged on", line.substring(start + srch.length(), end)); } // rc.put("Charged on", "02/05/11"); srch = "

"; start = line.indexOf(srch); end = line.indexOf("

", start); // virginInfo.append("Minutes Used: "); // virginInfo.append(line.substring(start + srch.length(), end).replaceFirst("", "")); // virginInfo.append("\n"); rc.put("Minutes Used", line.substring(start + srch.length(), end).replaceFirst("", "")); // rc.put("info", virginInfo.toString()); return rc; } public static Map getInfo(String username, String password) { String line = fetchScreen(username, password); // Log.d("DEBUG", "Line: "+line); return parseInfo(line); } }
File
WebsiteScraper.java
Developer's decision
Version 1
Kind of conflict
Class signature
Method declaration