2017-05-31 8 views
0

Ich versuche, eine GitHub-Webseite mit einem Java-Code abrufen, dafür habe ich folgenden Code verwendet.Java - Abrufen einer Webseite mit Autorisierung

Die Seite, die ich hier erhielt, unterscheidet sich jedoch von dem, was ich im Browser nach der Anmeldung bei Github beobachte. Ich habe versucht, Autorisierungsheader wie folgt zu senden, aber es hat auch nicht funktioniert.

uc.setRequestProperty("Authorization", "Basic encodexxx"); 

Wie kann ich die gleiche Seite abrufen, die ich beim Einloggen gesehen habe?

+0

Haben Sie Grund zu der Annahme, dass die Website tatsächlich die HTTP-Basisauthentifizierung verwendet? – VGR

Antwort

0

Ich kann Ihnen nicht mehr dazu sagen, weil ich nicht weiß, was Sie bekommen, aber am häufigsten für Web-Crawler ist die Tatsache, dass Website-Besitzer meist nicht mögen Web-Crawler. Daher sollten Sie sich wie ein normaler Benutzer verhalten - beispielsweise Ihr Browser. Öffnen Sie Ihr Browserinspektionselement (drücken Sie F12), wenn Sie eine Website erreichen und sehen Sie, was Ihr Browser anfordert, und versuchen Sie es dann nachzuahmen: Fügen Sie beispielsweise Host, Referer, usw. in Ihrem Header hinzu. Sie müssen daran experimentieren.

Auch gut zu wissen - einige Website-Besitzer werden fortgeschrittene Techniken verwenden (so werden sie Sie auf ihre Website sperren), einige werden Sie nicht auf ihrer Website Crawlen stoppen. Einige lassen Sie tun, was Sie wollen. Die beste Option ist zu überprüfen www.omedomain.com/ robots.txt und es gibt eine Liste von Endpunkten, die für Scraping erlaubt sind und solche, die nicht erlaubt sein sollten.

Verwandte Themen