URL aufrufen
-
definitiv ein einfacher Verweis
-
Dann definitiv:
heini schrieb:
Je nachdem kann es z.B. sein, dass die Seite, auf die referenziert wird, per Javascript, PHP oder aehnlichem die Browser-Historie / die Referrer-Seite ueberprueft, ob du auch wirklich von der gewuenschten Ursprungsseite kommst. Das machen einige Webseitenbereiber so, weil sie z.B. genau solche Aktionen vermeiden wollen.
Und es gibt fuer dich keine Moeglichkeit, das zu umgehen, es sei denn du kannst deinen Browser dazu ueberreden, eine nicht besuchte Seite als Referrer anzugeben. Ansonsten muesstest du einen eigenen Browser schreiben, der das uebernimmt. Waere natuerlich eine coole Sache.
-
Hol dir "Live HTTP Headers" (Addon für Firefox) und sieh dir damit an, was bei dem Druck auf den Button an den Server geschickt wird.
Exakt diese Anfrage musst du eben mit deinem Programm absenden. Nichts anderes macht ein BrowserDabei ist es egal, ob das ein Textlink oder ein komplexes Formular war. Auch einen Referer kannst du mitsenden
-
Mir faellt aber noch etwas anderes ein... Du koenntest das mit einem dynamischen Frameset loesen:
frameset.php:
<html><head><title>Frameset</title></head> <frameset rows="0,*"> <frame src="js.php?site=<?php echo $_GET['site']; ?>" name="js"> <frame src="<?php echo $_GET['ref']; ?>" name="main"> </frameset> </html>
js.php:
<html><head><script language="javascript"> <!-- parent.frames[1].location.href="<?php echo $_GET['site']; ?>"; //--> </script></head></html>
Hauptseite ist die frameset.php. Uebergeben muessen die Parameter site und ref. Prinzip: Es wird zuerst die gewuenschte Ursprungsseite aufgerufen und gleich danach per Javascript die neue Seite im selben Frame, was den Browser hierbei austricksen duerfte... Wichtig: PHP muss vorhanden und ausfuehrbar sein - z.B. per lokalen Webserver.
-
filgendes bekomme ich von Live HTTP Header:
GET /ta/fasching2/voting.php?pollId=1&optionId=1114&article_id=1101&detail=1114&row= HTTP/1.1
Host: www.zgtintern.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114
Cookie: PHPSESSID=kp5575pf9dtigsbfokdhhs5n91HTTP/1.x 302 Found
Date: Thu, 14 Jan 2010 11:03:21 GMT
Server: Apache/2.2
X-Powered-By: PHP/5.2.11
Location: index.php?article_id=1101&vote_ok=1&detail=1114#row-
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
----------------------------------------------------------
http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114#row-GET /ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114 HTTP/1.1
Host: www.zgtintern.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114
Cookie: PHPSESSID=kp5575pf9dtigsbfokdhhs5n91HTTP/1.x 200 OK
Date: Thu, 14 Jan 2010 11:03:21 GMT
Server: Apache/2.2
X-Powered-By: PHP/5.2.11
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------
http://www.zgtintern.de/ta/fasching2/js/functions.jsGET /ta/fasching2/js/functions.js HTTP/1.1
Host: www.zgtintern.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
Accept: /
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114
Cookie: PHPSESSID=kp5575pf9dtigsbfokdhhs5n91HTTP/1.x 404 Not Found
Date: Thu, 14 Jan 2010 11:03:22 GMT
Server: Apache/2.2
Vary: accept-language,accept-charset
Accept-Ranges: bytes
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
Content-Language: de
----------------------------------------------------------
http://www.zgtintern.de/ta/fasching2/files/a64_vk.cssGET /ta/fasching2/files/a64_vk.css HTTP/1.1
Host: www.zgtintern.de
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729)
Accept: text/css,/;q=0.1
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114
Cookie: PHPSESSID=kp5575pf9dtigsbfokdhhs5n91HTTP/1.x 404 Not Found
Date: Thu, 14 Jan 2010 11:03:22 GMT
Server: Apache/2.2
Vary: accept-language,accept-charset
Accept-Ranges: bytes
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
Content-Language: de
----------------------------------------------------------ich denke es dürfte das erste sein, da die Adresse die Link-Adresse ist, die unter dem Button liegt
leider habe ich absolut keinen blassen Schimmer, was das jetzt bedeutet. Wäre coll, wenn mir das einer erklären könnte und mir möglichst auch noch sagen könnte, wie ich das dann in ein Programm schreibe.
P.S. ich benutze ganz gern wxWidgets, weiß aber nicht, ob das damit umsetzbar ist.
Vielen Dank
SpiGAndromeda
-
Es handelt sich dabei um mehrere Header, da mehrere Anfragen gestellt werden. Einen zur Erlaeuterung:
Header, der gesendet wird:
Angeforderte Datei: GET /ta/fasching2/voting.php?pollId=1&optionId=1114&article_id=1101&detail=1114&row= HTTP/1.1 Selbsterklaerend: Host: www.zgtintern.de Dein Browser: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 (.NET CLR 3.5.30729) Akzeptierte Dokumenttypen: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Akzeptierte Sprachen: Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Akzeptierte Komprimierung: Accept-Encoding: gzip,deflate Akzeptierte Zeichensaetze: Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Am-Leben-erhalten (Sek.): Keep-Alive: 300 Verbindungstyp: Connection: keep-alive Vorherige besuchte Seite: Referer: http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114 Selbsterklaerend: Cookie: PHPSESSID=kp5575pf9dtigsbfokdhhs5n91
Header, den dein Browser vom Server erhaelt:
HTTP-Meld.Nr. m. HTTP-Vers.: HTTP/1.x 302 Found Datum/Zeit: Date: Thu, 14 Jan 2010 11:03:21 GMT Serversoftware: Server: Apache/2.2 Zusaetzliche Info: X-Powered-By: PHP/5.2.11 Verz./Datei auf Server: Location: index.php?article_id=1101&vote_ok=1&detail=1114#row- Laenge der Datei: Content-Length: 0 Am-Leben-erhalten (Sek.): Keep-Alive: timeout=5, max=100 Verbindungstyp: Connection: Keep-Alive Dokumententyp: Content-Type: text/html
Und um diese Zeile ging es mir:
Referer: http://www.zgtintern.de/ta/fasching2/index.php?article_id=1101&vote_ok=1&detail=1114
-
http://de.wikipedia.org/wiki/HTTP-Request
wie du das in wxw umsetzt, muss dir jemand sagen, der sich damit auskennt. Die Doku sollte aber weiterhelfen
-
heißt das ich muss im prinzip nur die GET Anweisung ausführen, oder was muss ich dann umsetzen
-
SpiGAndromeda schrieb:
heißt das ich muss im prinzip nur die GET Anweisung ausführen, oder was muss ich dann umsetzen
im Prinzip ist es eine simple GET-Anweisung, ja
Allerdings musst du die Antwort auswerten können (wie in diesem Fall. Du bekommst als Antwort einen 302, keinen 200, also musst du unter "Location" nachsehen, welche Adresse du aufrufen musst; kann aber sein, dass dein Framework das für dich übernimmt)
Darüber hinaus musst du aber evtl weitere Felder mitschicken. "Referer" wär da in deinem Fall einer der wichtigeren.
Wie du das genau machst, erfährst du in der Doku deines Frameworks
-
Du brauchst eigtl. nichtmal ein eigenes Programm. Das kannst du auch per Telnet realisieren. Hier ein Beispiel unter Windows XP, Konsole:
telnet www.c-plusplus.net 80
Dann eingeben (muss kopiert und dann eingefuegt werden, da Return sofort absendet):
GET /index.php HTTP/1.1 Host: www.c-plusplus.net User-Agent: Telnet Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: none Accept-Charset: utf-8 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost/
Und man bekommt zurueck:
HTTP/1.1 302 Found Date: Fri, 15 Jan 2010 16:03:22 GMT Server: Apache/2.2.3 (Debian) PHP/4.4.4-8+etch6 X-Powered-By: PHP/4.4.4-8+etch6 Location: http://www.c-plusplus.net/cms/index.php Vary: Accept-Encoding Content-Length: 0 Keep-Alive: timeout=10, max=100 Connection: Keep-Alive Content-Type: text/html