Récupérer en String le code HTML d'une page web en injectant des paramètres POST
Bonjour à tous,
Pour pouvoir utiliser une bibliothèque servant à générer des PDF, j'ai besoin de récupérer le contenu HTML de la page à exporter.
J'ai bien trouvé une méthode sur Internet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public String getHTML(String urlToRead) {
URL url; // The URL to read
HttpURLConnection conn; // The actual connection to the web page
BufferedReader rd; // Used to read results from the web page
String line; // An individual line of the web page HTML
String result = ""; // A long string containing all the HTML
try {
url = new URL(urlToRead);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = rd.readLine()) != null) {
result += line;
}
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
} |
Cela fonctionne bien avec une page simple, mais avec des paramètres en POST, c'est une autre affaire...
J'ai bien essayé de faire :
Code:
1 2 3 4
| ...
conn.setRequestMethod("POST");
conn.setRequestProperty("myParamKey", "myParamValue");
... |
... mais visiblement, un paramètre et une propriété, ce n'est pas la même chose. Et, je n'ai pas trouvé de méthode setRequestParameter() ou quelque chose comme ça.
Donc, si quelqu'un a une solution (même sans utiliser cette méthode), il est le bienvenu. :)