| [gelöst] Versenden eines POST-Formulars simulieren | |
|
Von: qotsa ** am 11.04.2007 Könnt ihr mir ein einfaches Programm empfehlen, mit dem man POST-Daten an einen Server versendet. Ich will das Anklicken des Submit-Buttons eines Formulars simulieren und das Ergebnis, also die HTML-Datei, auf der Festplatte abspeichern. Der Button, den man im Webbrowser anklicken müsste, um auf die nächste Seite zu kommen, sieht in etwa so aus: <input name="Name" value="Wert" type="submit"> Theoretisch müsste ich ja nur die URL zum Beispiel mit wget aufrufen und zusätzlich noch Name=Wert als POST-Daten mitsenden. Leider bekomme ich es mit wget nicht hin. Wär super, wenn mir das jemand anhand von einem Beispiel mal erklären könnte oder mir vielleicht ein Programm, das so was kann, empfehlen kann. thx im Vorraus | |
|
Antwort 1 von HCK ***** am 12.04.2007 http://www.computerhilfen.de/hilfe-14.html Da mal versuchen .... | |
|
Antwort 2 von JoSsiF ***** am 12.04.2007 Also das einfachste Programm, was sowas kann, wäre telnet. Problem an der Sache ist: Du musst dir den HTTP-Header selber zusammenbauen und die Formdaten mitgeben. Ist aber nicht so riesig schwer, Google hilft da auch weiter: Klick! Im Zweifelsfall oder bei mehr Wissensdurst einfach mal das RFC zu HTTP/1.1 durchschauen, auch wenn das lästige Arbeit ist ![]() greez ![]() JoSsiF | |
|
Antwort 3 von qotsa ** am 22.04.2007 wget.exe -O output.htm --post-data <POST-Daten> <URL> Mein Fehler war, dass ich um die Post-Daten Anführungszeichen gesetzt habe, so wie es auch in der Dokumentation seht. | |
|
Antwort 4 von JoSsiF ***** am 22.04.2007 ![]() Falls dich der Code interessiert, schreib nochmal. greez ![]() JoSsiF | |
|
Antwort 5 von qotsa ** am 22.04.2007 | |
|
Antwort 6 von JoSsiF ***** am 22.04.2007 Code: <?php $postData = array(); $postData['id'] = "00000"; $postData['vname'] = "einName"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.dieseite.de/dokument.php"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_HEADER, 0); $response = curl_exec($ch); // Ausgabe der Response-Daten echo $response; curl_close($ch); ?> | |
|
Antwort 7 von qotsa ** am 22.04.2007 Fatal error: Call to undefined function curl_init() in C:\Programme\xampp\htdocs\form.php on line 7 Im Verzeichnis C:\Programme\xampp\php\extensions liegt eine php_curl.dll. Anscheinend reicht das nicht. Sorry, bin in PHP noch Anfänger! | |
|
Antwort 8 von JoSsiF ***** am 22.04.2007 Du musst erstmal in der php.ini die cURL-Extension aktivieren (das Semikolon vor extension=php_curl.dll wegnehmen). Aufpassen, denn XAMPP hat mehrere php.ini. In der Standard-Konfiguration gilt die in xampp/apache/bin. Dann musst du noch aus xampp/php die 2 Dateien libeay32.dll und ssleay32.dll nach {windir}/system32 kopieren. Dann Server neu starten, und es sollte funzen. greez ![]() JoSsiF | |
|
Antwort 9 von qotsa ** am 22.04.2007 Es funktioniert! | |
| « zurück | Antworten |


