1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| private String getResult() throws IOException{
String html_result="";
// On envoie un formulaire POST en renseignant les informations de connexion
String url=this.url;
Map<String, String> dataDiag = new HashMap<String, String>();
dataDiag.put("ndi", ndi_vga);
dataDiag.put("bt1", "Rechercher");
// URL
URL urlDiag =new URL(null, url,new sun.net.www.protocol.https.Handler());
// Création de la connexion
HttpsURLConnection connDiag = (HttpsURLConnection) urlDiag.openConnection();
connDiag.setRequestMethod("POST");
connDiag.setRequestProperty("Connection","keep-alive");
connDiag.setDoOutput(true);
connDiag.setDoInput(true);
connDiag.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0");
DataOutputStream outDiag=null;
try {
outDiag = new DataOutputStream(connDiag.getOutputStream());
}
catch (IOException e) {
// TODO Auto-generated catch block
html_result="erreur proxy";
//e.printStackTrace();
}
Set keysDiag = dataDiag.keySet();
Iterator keyIterDiag = keysDiag.iterator();
String contentDiag = "";
for(int i=0; keyIterDiag.hasNext(); i++){
Object key = keyIterDiag.next();
if(i!=0)
contentDiag += "&";
contentDiag += key + "=" + URLEncoder.encode(dataDiag.get(key), "UTF-8");
}
outDiag.writeBytes(contentDiag);
outDiag.flush();
outDiag.close();
// On met le résultat en mémoire
BufferedReader in = new BufferedReader(new InputStreamReader(connDiag.getInputStream()));
String lineDiag = "";
// On assigne le résultat à la chaine html_result
while((lineDiag=in.readLine())!=null)
html_result+=lineDiag;
in.close();
// On récupére le contenu de la page
// Si c'est du SDSL, le code source contiendra "numero_ip_geo"
return html_result;
}
public void parseHtml(String arg0){
// On cherche une information dans le code HTML
// Elle se trouve entre pattern1 et pattern2
String pattern1="<div class=\"tableau_activation tableau\" id=\"saphir\">";
String pattern2="</div>";
String regexString = Pattern.quote(pattern1) + "(.*?)" + Pattern.quote(pattern2);
Pattern pattern = Pattern.compile(regexString);
Matcher matcher = pattern.matcher(arg0);
String textInBetween="";
while (matcher.find())
textInBetween = matcher.group(1);
String textToParse="<div>"+textInBetween+"</div>";
Document doc=Jsoup.parse(textToParse);
rows = doc.select("div class");
Elements nameTds=rows.get(0).select("div id");
for (int i=0;i<nameTds.size();i++){
cols.add(nameTds.get(i).text());
}
} |
Partager