Internetseiten-Aufruf simulieren

eLogic

Aktives Mitglied
Hey Forum =)

Ich möchte ein kleines Programm realisieren, dass Seitenaufrufe simuliert.
Es soll nach jedem Aufruf den Proxy Server wechseln (Diese sind Zeilenweise in einer TXT-Datei gespeichert).

Ich habe rausgefunden das man den Proxy über * ändert:

Java:
System.setProperty("proxyPort","8080");
System.setProperty("proxyHost","85.92.159.84"); //z.B

Wie realisiere ich jedoch den Seitenaufruf?


Vielen Dank für eure Hilfe

Euer eLogix
 
Zuletzt bearbeitet:

Evil-Devil

Top Contributor
Du könntest cURL für den Seitenaufruf nutzen. Neben dem Cookie-Verhalten bietet das auch noch interessante andere Möglichkeiten.

//edit: Kurz nachgeschaut. Den Proxy kann man bequem als Parameter übergeben :)
 

eLogic

Aktives Mitglied
Danke für deine schnelle Antwort =)

Hab ein bisschen drüber nach gegoogelt, lieg ich damit richtig?

Java:
HttpURLConnection con = (HttpURLConnection) new URL("https://www.example.com").openConnection();
con.setRequestMethod("POST");
con.getOutputStream().write("LOGIN".getBytes("UTF-8"));
con.getInputStream();
 
I

irgendjemand

Gast
also bevor ich da mit cURL auf ne einfache HTTP-anfrage losschieße würde ich eher zu apache http-commons greifen

wobei das ganze auch mit SE-mitteln geht ...

problem : die cookie-verwaltung musst du selbst übernehmen *ist n bissl tricky mit RegEx und so ...*

ansonsten : das ganze hört sich nach etwas an was mit z.b. im browsergame-bereich ne "ip-bombe" oder genrell einen ip-spoof nennen würde ...
ziel ist dabei möglichst viele gleiche anfragen von verschiedenen adressen aus zu stellen *z.b. : spenden-links bei pennergame* ...

ist mit wenig aufwand geschrieben *mein kürzester code dazu waren mal weniger als 100zeilen OHNE externe lib ...*
ist also mit java durchaus machbar ...
 

Evil-Devil

Top Contributor
Wenn wir nur Boardmittel nehmen wollen, dann würde ich bei cURL und der Bash bleiben. kurzes Bashskript das die Proxy Datei liest und entsprechende cURL Aufrufe abfeuert. Dann brauch es auch keine 3rd Partie Libs ala Commons.
 
I

irgendjemand

Gast
ich glaube mit "boardmitteln" war hier nicht die austattung eines *NIX - OS gemeint sondern JavaSE ...
klar gibt es auch für Win n cURL impl ... aber muss man wirklich gleich mit so "system-nahen" libs um sich schlagen wenns auch mit einfachen net-i/o klassen außer SE geht ?
persönlich finde ich es umständlich eine system-lib ala cURL *und abhängigkeiten* zu verwenden anstatt ein simples JAR in mein projekt *bzw system weiten CP* zu packen und dann mit reinem java zu arbeiten ...
 

eLogic

Aktives Mitglied
@ irgendjemand Hast du vllt noch den Code?

@ Evil-Devil Wie sehen diese cURL Aufrufe denn aus? Hast du vllt Code?
 

Evil-Devil

Top Contributor
Ausgehend davon das es auf einem Terminal bzw. der WIndowskonsole gemacht wird:

Code:
curl -x proxyhost:port www.java-forum.org

Die Möglichkeiten sind sehr umfangreich. Vielleicht lohnt sich ein Blick in die entsprechende Doku.
curl(1): transfer URL - Linux man page

//edit: gäbe sogar nen Java Binding
libcurl - the Java Binding


Aber ganz gleich welchen Weg du wählst,du wirst die HTTP Header fälschen müssen. Denn vor allem bei solchen Schneeball Systemen kommt es sehr häufig vor das der Browser Agent abgefragt wird.
 
Zuletzt bearbeitet:

eLogic

Aktives Mitglied
Danke =)

Habe curl jetzt auf meinem Rechner. Nachdem ich dann die richtige Version gefunden hab :lol:

Habe eine html seite zum testen geschrieben die einfach nur die IP adresse ausgiebt und einen Klickzähler enthält.

Nachdem ich Curl ausgeführt habe bekomme ich den html code der seite in der dann richtigerweise auf die IP des Proxys steht.

Code:
C:\>curl -x 85.92.159.84:8080 http://mxor.mx.funpic.de/counter.htm
85.92.159.84<a href="http://www.besucherzaehler-counter.de" target="_blank">
<img border="0" src="http://www.besucherzaehler-counter.de/count.php?counter=209
769&style=2"/>
</a><script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-16106315-4']);
  _gaq.push(['_setDomainName', '.funpic.de']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript';
ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
  })();

</script>

Allerding werden keine Klicks im Zähler registriert. Weiß jemand wieso?

Site: mxor.mx.funpic.de/counter.htm
source:
HTML:
<?php echo $_SERVER["REMOTE_ADDR"]; ?>
<a href="http://www.besucherzaehler-counter.de" target="_blank">
<img border="0" src="http://www.besucherzaehler-counter.de/count.php?counter=209769&style=2"/>
</a>
 
Zuletzt bearbeitet:

Evil-Devil

Top Contributor
Kann es sein, dass der Proxy nicht von überall erreichbar ist? Weil wenn ich den Curl abschicke krieg ich
Code:
curl: (56) Failure when receiving data from the peer

Ohne den Proxy erreiche ich deine Seite.

@Zähler: Vielleicht ist die IP vom Proxy schon hinterlegt. Der Counter merkt sich ja die IPs.
 

eLogic

Aktives Mitglied
Hmm.. also hab mir jetzt Batch dateien mit dem Inhalt von einer Proxylist generieren lassen die nacheinander alle einmal ausgeführt wurden, davon waren Server dabei die gingen, und Server bei denen ich ein Fehler bekam.

Der Zähler ist allerdings immernoch um keinen einzigen Zugriff gestiegen? =(

Woran kann das liegen hat jemand eine Idee?
 
I

irgendjemand

Gast
ja .. eine sehr simple ... und wenn du das jetzt liest für dich eine vielleicht einleuchtende ...

wenn du die seite im browser aufrufst ... dann erkennt dieser das dort ein bild eingebunden ist ...
also läd er das bild und erhöt damit den counter ...
dabei ruft der browser sowohl deine seite als auch den counter auf ...

wenn du jetzt nur deine seite abfragst ... wie soll sich dann der counter erhöhen wenn dieser nicht abgerufen wird ?
der server macht das nicht ... das muss der client machen ...

fakto : du musst nicht deine eigene seite aufrufen sondern das counter-image ... natürlich mit allen übergabe-parametern die nach dem "?" folgen ...

*wobei ichs irgendwie etwas ... sag ich mal "sinnlos" oder "albern" finde seinen EIGENEN user-counter zu pushen ...
 

eLogic

Aktives Mitglied
Ja stimmt deshalb ist der Thread hier auch mit "Internetseiten-Aufruf simulieren" betitelt.

Ich habe ja nicht vor die Seite abzufragen sondern einen Aufruf durch einen Browser zu simulieren.
Also verstehe ich das richtig, cURL ist gar nicht dafür da? -.-


Nein es geht nicht um den Counter :D Haha... das wäre allerdings wirklich bisschen Sinnlos :lol:
 

Evil-Devil

Top Contributor
Du sagtest nur das du eine Seite aufrufen willst. Was aber genau gemacht werden soll ist im Dunkeln. Wer zb. Sites grabben will tut dies meist mit cURL und ähnlichen Tools. Nur das AUfrufe auf Unterelemente erst ermittelt werden müssen.
 

eLogic

Aktives Mitglied
Na toll -.-

Und wie mach ich das denn jetzt?

Also bis jetzt ist mein Lösungsweg:

- Liste mit proxys einlesen

Loop:

- An Proxyserver Anfrage schicken, wenn erreichbar:
- Firefox Datei prefs.js verändern und da Proxyreinschreiben
- Firefox neustarten
- Link schicken

Klappt eigentlich auch, allterdings möchte ich das nicht die ganze zeit auf dem desktop haben sondern
es soll im Hintergrund passieren.

Ich müsste nur die stelle mit dem Firefox durch etwas Programminternet ersetzen. site da voll auf dem Blanken :(
 
I

irgendjemand

Gast
wie bereits mal erwähnt : es kommt darauf an WAS genau du mit dem seiten-aufruf bezecken willst ...
wenn innerhalb der seite die du aufrufst code eingebettet ist *z.b. PHP oder JSP* dann wird dieser code vom server ausgeführt wenn du die seite aufrufst ..
wenn jetzt allerdings in dieser seite irgendwas client-seitiges eingebettet ist *z.b. JavaScript oder eingebettete elemente wie bilder oder andere auto-code* dann musst du diesen auch ausführen bzw die unter-elemente aufrufen ...

was wir also wissen müssen um dir zu helfen : was genau willst du überhaupt machen ?

dann wäre das etwas einfacher ...

die info an sich ist leider etwas zu ungenau um dein problem genau zu ergründen ...
da du ja das beispiel mit dem counter gebracht hast haben wir uns darauf konzentriert ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
F Daten aus Internetseiten auslesen Netzwerkprogrammierung 56
G Internetseiten durchforsten Netzwerkprogrammierung 2
S Auf internetseiten oder Server zugreifen Netzwerkprogrammierung 4
D Bekomme Dummyspace beim Internetseiten auslesen Netzwerkprogrammierung 2
M SocketError bei Aufruf eines SOAP-Servers Netzwerkprogrammierung 8
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
OnDemand API Aufruf besser steuern, wie Fehler vermeiden Netzwerkprogrammierung 20
B Daten an Javaprogramm per URI Aufruf übergeben Netzwerkprogrammierung 7
J API Aufruf mit GET Request und HMAC Netzwerkprogrammierung 3
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
C ObjectInputReader wirft beim zweiten Aufruf eine Exception Netzwerkprogrammierung 3
Dit_ RMI RMI-Server und gleichzeitiger Aufruf einer Methode Netzwerkprogrammierung 14
G RMI Server starten - rmiregistry Aufruf? Netzwerkprogrammierung 17
D RMI Aufruf und danach Datenbank ? Netzwerkprogrammierung 10
C RMI: Problem beim Aufruf einer Methode. Falsch gecastet? Netzwerkprogrammierung 8
reibi Proxy macht Problem abeim URL-Aufruf Netzwerkprogrammierung 3
B Servlet URL aufruf Netzwerkprogrammierung 4
B Url aufruf über Proxy Netzwerkprogrammierung 2
D Exakten Browser-Call simulieren Netzwerkprogrammierung 6
aze Tcp Verkehr eines Applets simulieren Netzwerkprogrammierung 10
B Netzwerk simulieren Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben