All pastes #345760 Raw Edit

RockSolid - ^1

public java v1 · immutable
·published 2007-02-08 20:39 UTC
rendered paste body
//str1 = City//str2 = Branche//page = page-number//URL = http://wappc.pagesjaunes.fr/pj.cgi    (CGI-Script).//Returns the source of the HTML-Page.private String specConnect(URL url, String str1, String str2, int page) throws IOException{        URLConnection   urlConn;    DataOutputStream    printout;    DataInputStream     input;    StringBuffer sb = new StringBuffer();        // URL connection channel.    urlConn = url.openConnection();    // Let the run-time system (RTS) know that we want input.    urlConn.setDoInput (true);    // Let the RTS know that we want to do output.    urlConn.setDoOutput (true);    // No caching, we want the real thing.    urlConn.setUseCaches (true);    // Specify the content type.    urlConn.setRequestProperty    ("Content-Type", "application/x-www-form-urlencoded");   urlConn.setRequestProperty    ("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1");   urlConn.setRequestProperty    ("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");   urlConn.setRequestProperty    ("Connection", "keep-alive");   urlConn.setRequestProperty    ("Keep-Alive", "300");   urlConn.setRequestProperty    ("Accept-Encoding", "gzip,deflate");   urlConn.setRequestProperty    ("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3");   urlConn.setRequestProperty    ("Accept", "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5");      String content;    // Send POST output.    printout = new DataOutputStream (urlConn.getOutputStream ());    /*String content =           "actionForwardName=RecherchePagesJaunesReponse&activiteLibelleList=&activiteCode=&listCodesRubriquesCommun=&listLibelleComprehension=&voieCode=&regionCode=&localiteCode=&listeCodesLocalite=&listeCodesDepartement=&numeroArrondissement=&departementCode=&typePub=&typeService=PJ&typePage=PF&typeElargissement=&afficherClip=&afficherSpot=&afficherWeb=&afficherEnSavoirPlus=&afficherCatalogue=&afficherClipPlus=&afficherTroisCentSoixanteDegres=&afficherFlashAudio=&afficherEnglish=&typeRechercheElargissement=&langue=fr&portail=PJ&partenaire=&statAction=&activiteLibelle="+URLEncoder.encode(str1)+"&marqueLibelle=&localiteLibelle="+URLEncoder.encode(str2)+"&voieLibelle=&departementLibelle=&x=63&y=2";*/    System.out.println("!!! PAGE="+page);//The second or higher page needs other parameters (tested in browser FF).    if(page == 1){ //If it is the first page.        System.out.println("PAGE 1!");     content =            "faire=decode_input_image&DEFAULT_ACTION=jf_inscriptions_req&srv=PJ&TYPE_RECHERCHE=ZZZ&id_partenaire=Toolbar&FRM_ACTIVITE="+str1+"&FRM_LOCALITE="+str2;    }else{ //If page-number higher than 1        System.out.println("PAGE >1!");        content = "faire=print&IMPR=NON&nrep_total=227&OBJ_GEO=5%2F%3B%3B%3B%3B%2F3%3B00600400%3B00613580%3B00699999&GEO_LOC_PRINCIPALE=00600400&THEME_ACTIVITE=restaurants&THEME_DON_PRF=restaurants&SESSION_ID=FC-D5E5CF7-16ED0&VID=FC-D5E5CF7-16ED0&LISTEPUB=%7CW%7CU%7CD%7C&INFO_VILLE=oui&CODE_LOC_INFO_VILLE=00600400%2F00613580&IV_ACTIVATION=oui&lang=FR&pays=FR&srv=PJ&ACTIVITE_VALIDATED_ASCII=R54053000%3B&TYPE_RECHERCHE=PLOC&SAV_LOCALITE=Antibes&SAV_ACTIVITE=restaurants&CODRUBSELECT=R54053000%3B&FRM_ACTIVITE=restaurants&FRM_LOCALITE=Antibes&FRM_TYPE_PUB=TOUS&IDF_CD=MDMxNA--&NB_REP_TOTAL_NONE=227&FIRST_REP_PRINT_NONE=11&LAST_REP_PRINT_NONE=20&CTX_PRINT_NIV_PREC=11&CUR_ORTHO_PRINT=NONE&CTX_REP_PRINT=AAAAAAAAAAAAAAAKAAAALAAAAAAAAAM6AAAALAAAACwAAANmAAAASgAAA5IAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACgAAAARs6oBiAAAAAAAAAAYAAAAAAAABNQAAABMAAAE1AAAA2QAAAAAAAAAAAAAAAAAAAAAAAAEiFQAAACAFvRAAAAABAzjIiAAAATUMQVTwXRUztE%2BKonU%2BE6nqAZPQDHSAY5Trb6eBkEwOIm8zE3mSSTsTBnKYM6I37BG%2FTSiGSUQsSiFqSTuSSIJG82P7mgnZmE6eInTwTVVSUQuI6lZGiZJtzBNuZI3TAMRyB";    /* content =             "faire=print&IMPR=NON&nrep_total=227&OBJ_GEO=5%2F%3B%3B%3B%3B%2F3%3B00600400%3B00613580%3B00699999&GEO_LOC_PRINCIPALE=00600400&THEME_ACTIVITE="+str1+"&THEME_DON_PRF="+str1+"&SESSION_ID=FH-D5E24A2-B812&VID=FH-D5E24A2-B812&LISTEPUB=%7CW%7CU%7CD%7C&INFO_VILLE=oui&CODE_LOC_INFO_VILLE=00600400%2F00613580&IV_ACTIVATION=oui&lang=FR&pays=FR&srv=PJ&ACTIVITE_VALIDATED_ASCII=R54053000%3B&TYPE_RECHERCHE=PLOC&SAV_LOCALITE="+str2+"&SAV_ACTIVITE="+str1+"&CODRUBSELECT=R54053000%3B&FRM_ACTIVITE="+str1+"&FRM_LOCALITE="+str2+"&FRM_TYPE_PUB=TOUS&IDF_CD=MDMxMg--&NB_REP_TOTAL_NONE=227&FIRST_REP_PRINT_NONE="+page+"&LAST_REP_PRINT_NONE="+(page+9)+"&CTX_PRINT_NIV_PREC="+(page+9)+"&CUR_ORTHO_PRINT=NONE&CTX_REP_PRINT=AAAAAAAAAAAAAAAKAAAALAAAAAAAAANEAAAALAAAACwAAANwAAAASgAAA5wAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACgAAAAR0fSBlAAAAAAAAAAYAAAAAAAABNQAAAA8AAAE1AAAA2QAAAAAAAAAAAAAAAAAAAAAAAAEmFQAAACAFvRAAAAABAzjIiAAAATVMKhKe4ZT3EJquhNVzJlnArNJFXUaeXTRHcRNbTBiHwcZWTpvabHRBs9QpTLLZzwpTKLZzpol%2FFXCAqtOFVpp3qXOLTYqbAFTX56fBENJ6bRNJhJBMJHBrP6eC6Lb0grPIFWGYqwy";       //content = "faire=print&IMPR=NON&nrep_total=227&OBJ_GEO=5%2F%3B%3B%3B%3B%2F3%3B00600400%3B00613580%3B00699999&GEO_LOC_PRINCIPALE=00600400&THEME_ACTIVITE=restaurants&THEME_DON_PRF=restaurants&SESSION_ID=FH-D5E24A2-B812&VID=FH-D5E24A2-B812&LISTEPUB=%7CW%7CU%7CD%7C&INFO_VILLE=oui&CODE_LOC_INFO_VILLE=00600400%2F00613580&IV_ACTIVATION=oui&lang=FR&pays=FR&srv=PJ&ACTIVITE_VALIDATED_ASCII=R54053000%3B&TYPE_RECHERCHE=PLOC&SAV_LOCALITE=Antibes&SAV_ACTIVITE=restaurants&CODRUBSELECT=R54053000%3B&FRM_ACTIVITE=restaurants&FRM_LOCALITE=Antibes&FRM_TYPE_PUB=TOUS&IDF_CD=MDMxMg--&NB_REP_TOTAL_NONE=227&FIRST_REP_PRINT_NONE=21&LAST_REP_PRINT_NONE=30&CTX_PRINT_NIV_PREC=11&CUR_ORTHO_PRINT=NONE&CTX_REP_PRINT=AAAAAAAAAAAAAAAKAAAALAAAAAAAAANEAAAALAAAACwAAANwAAAASgAAA5wAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACgAAAAR0fSBlAAAAAAAAAAYAAAAAAAABNQAAAA8AAAE1AAAA2QAAAAAAAAAAAAAAAAAAAAAAAAEmFQAAACAFvRAAAAABAzjIiAAAATVMKhKe4ZT3EJquhNVzJlnArNJFXUaeXTRHcRNbTBiHwcZWTpvabHRBs9QpTLLZzwpTKLZzpol%2FFXCAqtOFVpp3qXOLTYqbAFTX56fBENJ6bRNJhJBMJHBrP6eC6Lb0grPIFWGYqwy";     /*content =                 "faire=print&IMPR=NON&nrep_total=227&OBJ_GEO=5%2F%3B%3B%3B%3B%2F3%3B00600400%3B00613580%3B00699999&GEO_LOC_PRINCIPALE=00600400&THEME_ACTIVITE="+str1+"&THEME_DON_PRF="+str1+"&SESSION_ID=GH-D5E028F-FFF0&VID=GD-D5BA228-D604&LISTEPUB=%7CW%7CU%7CD%7C&INFO_VILLE=oui&CODE_LOC_INFO_VILLE=00600400%2F00613580&IV_ACTIVATION=oui&lang=FR&pays=FR&srv=PJ&ACTIVITE_VALIDATED_ASCII=R54053000%3B&TYPE_RECHERCHE=PLOC&SAV_LOCALITE="+str2+"&SAV_ACTIVITE="+str1+"&CODRUBSELECT=R54053000%3B&FRM_ACTIVITE="+str2+"&FRM_LOCALITE="+str1+"&FRM_TYPE_PUB=TOUS&IDF_CD=MDMxMw--&NB_REP_TOTAL_NONE=227&FIRST_REP_PRINT_NONE="+page+"&LAST_REP_PRINT_NONE="+(page+9)+"&CTX_PRINT_NIV_PREC="+(page+9)+"&CUR_ORTHO_PRINT=NONE&CTX_REP_PRINT=AAAAAAAAAAAAAAAKAAAALAAAAAAAAAM%2FAAAALAAAACwAAANrAAAASgAAA5cAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACgAAAAQdETyFAAAAAAAAAAYAAAAAAAABNQAAABEAAAE1AAAA2QAAAAAAAAAAAAAAAAAAAAAAAAEkFQAAACAFvRAAAAABAzjIiAAAATVIiqFExAoUUTy6aA5iJJ64LaCD716dN7TY6IMscE2PhWYdE2PZWYcMZ94oSGFA8IoHgOKNBrYvE%2Bxon2MOebyZmwTaJpH%2F7I%2F%2FQMfdTwXRWnqFFAIoK7FBXSDMBQSBqA8";     /*content =             "faire=decode_input_image&DEFAULT_ACTION="+page+"f_inscriptions_req&lang=fr&pays=fr&input_image=&FRM_ACTIVITE="+str1+"&FRM_LOCALITE="+str2;     /*content =            "faire=print&IMPR=NON&nrep_total=227&OBJ_GEO=5%2F%3B%3B%3B%3B%2F3%3B00600400%3B00613580%3B00699999&GEO_LOC_PRINCIPALE=00600400&THEME_ACTIVITE="+str1+"&THEME_DON_PRF="+str1+"&SESSION_ID=GH-D5E028F-FFF0&VID=GD-D5BA228-D604&LISTEPUB=%7CW%7CU%7CD%7C&INFO_VILLE=oui&CODE_LOC_INFO_VILLE=00600400%2F00613580&IV_ACTIVATION=oui&lang=FR&pays=FR&srv=PJ&ACTIVITE_VALIDATED_ASCII=R54053000%3B&TYPE_RECHERCHE=PLOC&SAV_LOCALITE="+str2+"&SAV_ACTIVITE="+str1+"&CODRUBSELECT=R54053000%3B&FRM_ACTIVITE="+str2+"&FRM_LOCALITE="+str1+"&FRM_TYPE_PUB=TOUS&IDF_CD=MDMxMw--&NB_REP_TOTAL_NONE=227&FIRST_REP_PRINT_NONE="+page+"&LAST_REP_PRINT_NONE="+(page+9)+"&CTX_PRINT_NIV_PREC="+(page+9)+"&CUR_ORTHO_PRINT=NONE&CTX_REP_PRINT=AAAAAAAAAAAAAAAKAAAALAAAAAAAAAM%2FAAAALAAAACwAAANrAAAASgAAA5cAAAAUAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAACgAAAAQdETyFAAAAAAAAAAYAAAAAAAABNQAAABEAAAE1AAAA2QAAAAAAAAAAAAAAAAAAAAAAAAEkFQAAACAFvRAAAAABAzjIiAAAATVIiqFExAoUUTy6aA5iJJ64LaCD716dN7TY6IMscE2PhWYdE2PZWYcMZ94oSGFA8IoHgOKNBrYvE%2Bxon2MOebyZmwTaJpH%2F7I%2F%2FQMfdTwXRWnqFFAIoK7FBXSDMBQSBqA8";*/    }    printout.writeBytes (content);    System.out.println(content);    printout.flush ();    printout.close ();    // Get response data.    //Bytes to download:    long todownload = urlConn.getContentLength();    long downloaded = 0;    int percentage = 0;        //Get the stream:    input = new DataInputStream (urlConn.getInputStream ());        //DOWNLOAD    String str;    long oldval = 0; //Only when something changes, pls tell us.    try{    while (null != ((str = input.readLine())))    {                       downloaded += str.getBytes().length;                percentage = (int)(downloaded*100/todownload);        if(oldval != percentage){               System.out.println("Downloaded: "+percentage+"%");        }                    sb.append(str);            oldval = percentage; //    }    input.close ();    } catch (Exception ex){        System.out.println("ERROR: Connection failure. Please check your connection and -settings.");    }    ///        ///            return(sb.toString());    }