HTTP Zugriff und Aktionen auf einer Webseite ausführen

OasisCritter

Bekanntes Mitglied
Hallo,

ich bin noch sehr neu auf dem Gebiet. Ist es Möglich auf eine Webseite zuzugreifen, z.B. bestimmte Buttons zu klicken/sich auf einer Seite anmelden...etc. Das ist jetzt nur ein Beispiel. Ich bin bis jetzt nur soweit gekommen über die URL-Klasse eine Webseite auszulesen. Das bringt mir aber nicht viel, da ich immer noch nicht weiß wie ich konkrete Aktionen ausführen kann.

Java:
import java.net.*;
import java.io.*;



public class httphelper {
	
	public httphelper() {
	
	}

	URL url;
	URLConnection urlcon;
	InputStream in;
	BufferedReader br;
	
	public void go() {
		
	try {
		url= new URL("url");
		urlcon= url.openConnection();
		urlcon.setDoInput(true);
		
		in = urlcon.getInputStream();
		br = new BufferedReader(new InputStreamReader(in));
		
		String line = "";
		while ((line = br.readLine()) != null){
		System.out.println(line);
		}
		
		
	} catch (MalformedURLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	
	}
	
	public static void main(String[] args) {
		httphelper test= new httphelper();
		test.go();
	}
	
}

Hat einer Tipps? Danke :)
 

OasisCritter

Bekanntes Mitglied
Danke, genau das was ich gesucht habe :applaus:

Beim Versuch mich anzumelden, bekomme ich folgendes angezeigt:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="robots" content="NONE,NOARCHIVE">
  <title>403 Forbidden</title>
  <style type="text/css">
    html * { padding:0; margin:0; }
    body * { padding:10px 20px; }
    body * * { padding:0; }
    body { font:small sans-serif; background:#eee; }
    body>div { border-bottom:1px solid #ddd; }
    h1 { font-weight:normal; margin-bottom:.4em; }
    h1 span { font-size:60%; color:#666; font-weight:normal; }
    #info { background:#f6f6f6; }
    #info ul { margin: 0.5em 4em; }
    #info p, #summary p { padding-top:10px; }
    #summary { background: #ffc; }
    #explanation { background:#eee; border-bottom: 0px none; }
  </style>
</head>
<body>
<div id="summary">
  <h1>Forbidden <span>(403)</span></h1>
  <p>CSRF verification failed. Request aborted.</p>

  <p>You are seeing this message because this HTTPS site requires a 'Referer
   header' to be sent by your Web browser, but none was sent. This header is
   required for security reasons, to ensure that your browser is not being
   hijacked by third parties.</p>

  <p>If you have configured your browser to disable 'Referer' headers, please
   re-enable them, at least for this site, or for HTTPS connections, or for
   'same-origin' requests.</p>

</div>

<div id="explanation">
  <p><small>More information is available with DEBUG=True.</small></p>
</div>

</body>
</html>

Wie kann ich denn diesen "referer header" mitsenden?

Gruss OC
 
T

troll

Gast
vielleicht zur erklärung : wenn du eine "aktion auf einer website ausführst" wird nichts weiter gemacht als entsprechende daten an den server zu senden ... und das musst du einfach nur nachbauen ... dafür reichen sogar Socket und Input/OutputStream ... da braucht man weder URLConnection noch diese ziemlich schrottigen apache-libs
 

OasisCritter

Bekanntes Mitglied
Danke für die schnelle Antwort aber ich soll jemandem eine URL unterschieben? :autsch:
Es kann doch nicht so kompliziert sein, ich mein wie Verarbeitet denn mein eigener Browser diese Anmeldung? Alles was ich will ist meine LoginDaten in die Felder eintragen und auf den Login-Button zu drücken. Theoretisch könnte man doch auch den html-code in einer TextPane rendern und dann bleibt halt noch die Frage zu klären wie ich meine LoginDaten in die Felder setzte und auf Login drücke. Oder versteh ich da etwas grundsätzlich falsch?

Gruss OC
 

ARadauer

Top Contributor
Danke für die schnelle Antwort aber ich soll jemandem eine URL unterschieben? :autsch:

Nein... die Seite erkennt, dass das Absenden nicht vom eigenen Server kommt und stuft dich als Hacker ein ;-= darum kommst du nicht rein ;-)

Keine ahnung wie das genau geht, irgendwie mit einer weiterleitung oder so.. damit verhindern sie, dass jemand ein programm schreibt das ding zu steuern...

Was du machen kannst, ist selenium verwenden. im grunde steuert da ein programm den browser. Nimmt man normalwerweise für automtisierte web gui tests... ist aber auch gut um bots zu schreiben...
 

Bernd Hohmann

Top Contributor
Dein Problem ist die Verschlüsselung via HTTPS - versuche Dich erstmal an normalen HTTP (das ist schon schwer genug).

Mein Tip: sowas würde ich nicht in Java machen sondern mit AutoIti, ist eine BASIC-like Scriptsprache zur Fernsteuerung von Windows. Da startest Du im Script den MS Internet Explorer und steuerst den dann über das Script. Da gibts im Toolset fertige Klassen und Funktionen um das relativ stressfrei zu verwirklichen. Vorteil ist, dass man auf das ganze OLE-Zeug zurückgreifen kann.

Wenn Du es unter Linux brauchst: Starte eine XP-VM unter VirtualBox - ich hab dieses "Hintendurchdiebrustinsaugeundindenfussgeschossen" hier tatsächlich im Einsatz.

Bernd
 

r.w.

Bekanntes Mitglied
Also, der einzige Fehler den ich hier herauslese ...

Code:
...You are seeing this message because this HTTPS site requires a 'Referer
   header' to be sent by your Web browser, but none was sent....

... besteht darin, dass der Server einen Referer-Header erwartet, den Du aber nicht mitsendest.

Füge doch einfach mal hinter der Zeile 22 in Deinem Code Folgendes ein:

Java:
        urlcon.setRequestProperty("REFERER", "http://www.quellurl.de/irgendetwas.html");

Ersetze dabei "http://www.quellurl.de/irgendetwas.html" durch die URL, von der die Zielseite im Normalfall aufgerufen wird.

Durch diese Anweisung wird der REFERER in den Request eingefügt, der dann auf dem Server ausgewertet werden kann.
Mit PHP z.B. kann man sich diesen mit der folgenden Anweisung ausgeben lassen.

PHP:
   echo $_SERVER['HTTP_REFERER'];


Ich hoffe, dass hilft Dir weiter.

VG ROlf
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
windl Bluetooth und Zugriff auf ein IPhone Netzwerkprogrammierung 0
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
J FTP FTP Zugriff über Proxy Server Netzwerkprogrammierung 1
D Zugriff auf Webinhalte ohne visuelles Öffnen der Website Netzwerkprogrammierung 2
L ssh connection; Zugriff auf 'screen' Prozess Netzwerkprogrammierung 5
J Website-Zugriff beenden Netzwerkprogrammierung 11
F Desktop.browse() zugriff verweigert Netzwerkprogrammierung 2
vandread Zugriff auf Soziales Netzwerk mittels Java? Netzwerkprogrammierung 4
B FTP Applet mit FTP-Server-Zugriff sicher gestalten Netzwerkprogrammierung 12
A HTTP Zugriff auf http-Server - Error 400 Netzwerkprogrammierung 11
D Zugriff auf zentrale DB von verscheidenen Computern Netzwerkprogrammierung 7
T FTP-Zugriff auf Textdatei Netzwerkprogrammierung 13
B Zugriff auf eine Text- und XML-Datei Netzwerkprogrammierung 4
T JavaMail POP Zugriff zeigt nicht alle Emails Netzwerkprogrammierung 2
V Zugriff auf Laufwerk mit Username und Passwort? Netzwerkprogrammierung 7
R CVS- Zugriff Netzwerkprogrammierung 27
Airwolf89 Passwortabfrage bei Zugriff auf Zielrechner Netzwerkprogrammierung 17
ABstraCT Applet multipler port Zugriff möglich ? Netzwerkprogrammierung 5
ABstraCT Telnet port Zugriff problem (public IP) Netzwerkprogrammierung 12
S Zugriff auf Webseite Netzwerkprogrammierung 3
F Webserver Zugriff per Java Netzwerkprogrammierung 3
F Applet Datei Zugriff Netzwerkprogrammierung 13
T XML-RPC kein Zugriff auf Server Interface Netzwerkprogrammierung 3
T RMI - Client Zugriff auf Server funktioniert nicht Netzwerkprogrammierung 5
R Zugriff auf Suchmaschinen. Wie am Sinnvollsten? Netzwerkprogrammierung 2
D Zugriff auf URL über festgelegte Netzwerkresource Netzwerkprogrammierung 6
C Session Problem beim Zugriff auf Webseiten Netzwerkprogrammierung 3
H ServerSocket -> Zugriff nur von localhost Netzwerkprogrammierung 6
J SecurityManager - Server-Zugriff nur von bestimmten Clients? Netzwerkprogrammierung 2
P Praktikumsarbeit: Zugriff Active Directory/Server/Datenbank Netzwerkprogrammierung 15
J Server soll Zugriff auf Java Programm ermöglichen Netzwerkprogrammierung 3
S FTP zugriff - ich versteh es nich Netzwerkprogrammierung 17
S Suche API für einfachen HTTP-Zugriff. Netzwerkprogrammierung 17
D Zugriff auf OPC Server Netzwerkprogrammierung 1
D Zugriff auf Rechner im Lan Netzwerkprogrammierung 2
A Zugriff auf Inet Datenbank? Netzwerkprogrammierung 4
A Zugriff auf einen fremden Monitor im lan Netzwerkprogrammierung 3
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
N Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
O HTTP Einloggen auf einer Homepage Netzwerkprogrammierung 8
H Daten auf einer Webseite eintragen Netzwerkprogrammierung 11
Z Debug-Info einer JavaSE Applikation auf Webserver Netzwerkprogrammierung 0
S HTTP Würdet Ihr Euch bei einer intern genutzten Anwendung auf Cookies verlassen? Netzwerkprogrammierung 2
J Hilfe beim programmiern einer App zur Anmeldung im Wlan-Netzwerk Netzwerkprogrammierung 0
C Inhalt einer .JPG Datei in einen OutputStream schreiben? Netzwerkprogrammierung 10
D Überwachen einer SMB-Freigabe bei Änderungen im Dateisystem Netzwerkprogrammierung 0
L FTP Lesen einer Datei vom Server - Aufgehangen Netzwerkprogrammierung 0
M jsf-seite beim hinzufügen einer csv-datei in einen ordner aktualiseren Netzwerkprogrammierung 0
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
S Automatischer Login auf einer Webseite Netzwerkprogrammierung 12
D JavaMail: HTML Code einer Mail Netzwerkprogrammierung 9
H Daten an Textfeld einer Webseite schicken Netzwerkprogrammierung 2
D Aus einer URL die Dateien lesen Netzwerkprogrammierung 5
Dit_ RMI RMI-Server und gleichzeitiger Aufruf einer Methode Netzwerkprogrammierung 14
T Ladezeit einer Seite mit HttpURLConnection und Bildern Netzwerkprogrammierung 2
M bild von einer url erzeugen Netzwerkprogrammierung 7
V Quelltaxt einer Website auslesen funktioniert nicht Netzwerkprogrammierung 2
V Angezeigten Text einer Website erfragen Netzwerkprogrammierung 4
P HttpClient - Daten einer Website "unvollständig" Netzwerkprogrammierung 5
A HTTP Download einer Datei mit "Statistiken" Netzwerkprogrammierung 2
S Port auf einer bestimmten IP-Adresse auslesen? Netzwerkprogrammierung 6
S netzwerkprotokoll auf basis einer tcp verbindung erstellen Netzwerkprogrammierung 9
G Kryptische Zeichen beim Auslesen einer Website Netzwerkprogrammierung 11
Ollek Download einer Datei durch SFTP mit Java Netzwerkprogrammierung 12
B Frage zu einer Lösung (RMI) Netzwerkprogrammierung 2
H HTTP Einloggen auf einer HTML (php) Seite Netzwerkprogrammierung 6
P HTTP Problem beim Download von einer Datei Netzwerkprogrammierung 4
L Größe einer Datei auslesen die im Netz liegt Netzwerkprogrammierung 4
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
F Entwicklung einer Software zur Steuerung und Überwachung von Netzwerkgeräten Netzwerkprogrammierung 4
R Versenden einer MIME-Datei per E-Mail [solved] Netzwerkprogrammierung 5
C Problem mit Übertragung einer Klasse in RMI Netzwerkprogrammierung 10
Pithecanthropus Konzeptionelle Ausarbeitung einer synchronen Kommunkation (Server/Client)) Netzwerkprogrammierung 6
A attachment einer Mail speichern Netzwerkprogrammierung 5
C Dateigröße einer Datei im Internet ermitteln Netzwerkprogrammierung 2
J programm zum autom. ausdruck einer webseite Netzwerkprogrammierung 2
E Parameter einer URLConnection Netzwerkprogrammierung 12
G Unvollständiges Laden einer Seite Netzwerkprogrammierung 2
M Rechner einer Domäne auslesen? Netzwerkprogrammierung 3
KNeuhaus (Windows) Authentication VON einer Java-App aus. Netzwerkprogrammierung 2
Rontu Problem beim Übertragen einer Datei Netzwerkprogrammierung 9
D Content einer email in sql-datenbank speichern Netzwerkprogrammierung 9
M RMI direkte Verbindung mit einer Mysql datenbank Netzwerkprogrammierung 13
T Quelltext einer Website auslesen Netzwerkprogrammierung 3
ven000m Frage aus einer mündl. Prüfung - wer kennt die Antwort? Netzwerkprogrammierung 6
J Funktion zum Maskieren der Sonderzeichen einer URL Netzwerkprogrammierung 2
J Zeilenweises auslesen aus einer Datei über Server Netzwerkprogrammierung 6
C RMI: Problem beim Aufruf einer Methode. Falsch gecastet? Netzwerkprogrammierung 8
D Problem beim holen einer PHP-Seite via HttpClient Netzwerkprogrammierung 19
C IP adresse anhand einer domain adresse auslesen / ermitteln Netzwerkprogrammierung 3
V Einen Eintrag aus einer Zip Datei von einem Server laden Netzwerkprogrammierung 2
N Dateigröße einer Datei auf einem HTTP-/Web-Server. Netzwerkprogrammierung 9
V Zuweisen einer InetAddress mit einem byte Netzwerkprogrammierung 5
D Anmelden an einer Windows-Domäne Netzwerkprogrammierung 2
M Suche Klasse um Paramater zu einer URL hinzuzufügen. Netzwerkprogrammierung 3
B Url-Link aus einer E-Mail aufrufen Netzwerkprogrammierung 2
M Quellcode einer HTML Seite erhalten Netzwerkprogrammierung 2
A Abbruch einer Verbindung erkennen? Netzwerkprogrammierung 3
G Performance einer verteilten RMI-Anwendung Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben