HttpClient mit javascript
Möchte ich eine Anfrage und eine Antwort bekommen von dynamischen website, wenn ich das mit normalen Browser (wie chrome) und siehe Quelltext dieser zeigen mir alle Texte (nicht javascripts), aber wenn ich versuche zu tun, wget oder HttpClient bekomme ich Antwort mit javascripts und keine Texte.
Texte sind dynamisch, so wie ich das empfangen kann final source-code (mit Texten)?
Bitte, wenn nicht klar ist, befolgen Sie diese Schritte:
1 - Gehen Sie zu http://www.stj.jus.br/webstj/processo/Justica/detalhe.asp?numreg=201201911000&pv=010000000000&tp=51
2 - Untersuchen Elemente, und siehe source-code von detalhe.asp
3 - Öffnen Sie das terminal und wget zum Holen dieser Seite
nun können Sie den Unterschied sehen?
- - - - - EDIT - - - - -
Wenn die Hilfe, ich versuche, dies zu tun mit HttpClient:
private static InputStream getPageSource(String url) {
InputStream inputStream = null;
try {
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(new HttpGet(url));
StatusLine statusLine = response.getStatusLine();
if(statusLine.getStatusCode() == HttpStatus.SC_OK){
ByteArrayOutputStream out = new ByteArrayOutputStream();
response.getEntity().writeTo(out);
out.close();
String responseString = out.toString();
//..more logic
System.out.println(responseString);
inputStream = response.getEntity().getContent();
} else{
//Closes the connection.
response.getEntity().getContent().close();
throw new IOException(statusLine.getReasonPhrase());
}
} catch (Exception e) {
e.printStackTrace();
}
return inputStream;
}
---- EDIT 2 ----
Ich habe diese Arbeit machen, dass ein Feld im header: Referer
wenn ich setzen Sie diese Zeile vor dem ausführen httpclient: bekommen.setHeader("Referer", "http://www.stj.jus.br/webstj/processo/Justica/pagina_lista.asp"); funktioniert auch alles.. so, jetzt ist das problem:
Wie bekomme ich diese parameter (Referer) von HttpClient automatisch?
- Nein - wie erwartet, bekomme ich die identische Antwort aus, muss jedoch beachten, dass es eine Umleitung beteiligt. Vielleicht was auch immer du tust, ist nicht der Umleitung zu Folgen?
- welchen Befehl verwenden Sie für wget?
- Gerade wget ohne Parameter (OS X 10.8.2): "wget stj.jus.br/webstj/processo/Justica/..."
- sowieso kann ich die pass-Dateien für Sie? Ich Speichere die Antworten.. es ist groß, um hier einfügen..
- nicht wirklich -, wie darum, Ihnen irgendwo (dropbox, oder was auch immer) und du einen link?
- sicher.. dl.dropbox.com/u/50341801/reponse_browser.txt (BROWSER) dl.dropbox.com/u/50341801/response_wget.txt (WGET)
- lassen Sie uns weiter, diese Diskussion im chat
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wget nicht durchführen, die Rolle von einem browser, dass es nicht der Interpretation und der Ausführung von javascript. Es fragt nur für die Ressource, die unter einer bestimmten URL und speichert Sie in eine Datei. Wenn Sie möchten, laden Sie die Inhalte so gut sind, dann müssen Sie Zugriff auf eine javascript-engine. Möchten Sie vielleicht Blick auf die Verwendung Selen die eine
JavascriptExecutor
- Schnittstelle.Tut mir Leid, mein problem ist hier mit Sicherheit, für die Sicherheit Grund REFERER es muss seted mit "http://www.stj.jus.br/webstj/processo/Justica/pagina_lista.asp", also kein problem mit Umleitungen oder ähnliches, nur security.
Bevor ich nicht sehen konnte diesem also post ich die Frage stellen.
Dank.
Ich bin recherche zu einem ähnlichen Problem, und die Antwort, die ich halten kommen über, ist zu versuchen, http://htmlunit.sourceforge.net/ Es hat eine javascript-engine eingebettet. Abhängig von Ihrer Umgebung, der Nachteil Selen ist, dass es erfordert ein browser installiert sein, damit es zur Interaktion mit.