J'ai obtenu du code de java httpurlconnection cutting off html et je suis à peu près le même code pour aller chercher du code HTML à partir de sites Web en Java. Sauf pour un site Web particulier que je ne suis pas capable de faire ce travail de code avec:Besoin d'aide pour obtenir HTML d'un site Web en Java
Je suis en train d'obtenir HTML à partir de ce site:
http://www.geni.com/genealogy/people/William-Jefferson-Blythe-Clinton/6000000001961474289
Mais je continue à recevoir des caractères indésirables . Bien que cela fonctionne très bien avec n'importe quel autre site Web comme http://www.google.com.
Et c'est le code que j'utilise:
public static String PrintHTML(){
URL url = null;
try {
url = new URL("http://www.geni.com/genealogy/people/William-Jefferson-Blythe-Clinton/6000000001961474289");
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
HttpURLConnection connection = null;
try {
connection = (HttpURLConnection) url.openConnection();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6");
try {
System.out.println(connection.getResponseCode());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append("\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String html = builder.toString();
System.out.println("HTML " + html);
return html;
}
Je ne comprends pas pourquoi il ne fonctionne pas avec l'URL que je l'ai mentionné ci-dessus.
Toute aide sera appréciée.
Wow cela a fonctionné. Merci pour l'explication. Et un grand merci pour l'extrait aussi. J'ai d'abord essayé d'utiliser HTMLCleaner comme mon analyseur, mais j'avais le même problème. Maintenant, je vais nourrir cette chaîne HTML dans HTMLCleaner. – bits
De rien. – BalusC
BTW, jsoup (1.3.1) traite maintenant correctement cette sortie gzippée en utilisant 'Jsoup.connect (url) .get();' –