DasIrrlicht
Grünschnabel
Servus!
Hab wieder ein kleine Problem mit libCurl. Ich rufe in meinem Programm diverse Seiten auf, auch als POST mit Daten im Anhang. Nun habe ich das Problem, dass wohl (laut Wireshark) immer wieder die gleichen FORM Daten (also von einem HTML Form) mit geschickt werden. So wird bei einem Aufruf irgendeiner Seite noch immer der Benutzername und das Kennwort mit geschickt.
So setze ich ein Feld:
Vor jedem Aufruf einer Seite mache ich folgende Funktionsaufrufe:
Mein eigentliches Problem ist jedoch, dass ich eine Seite habe, die anders ist als die anderen und hier der POST Aufruf nicht funktioniert. Sprich alle anderen Seite interessiert das gar nicht, dass die Daten da noch drin sind.
Der Unterschied zu den anderen Seiten ist:
- Es ist eine URL mit GET Daten zusaetzlich (http://www.example.com/blah.php?getvar=data).
- Das Form hat kein Submit Feld, sonder wird per <a href='#'' onCLick='document.formname.submit()'> "gesubmitted".
Also ich rufe die Seite so:
Das Ergebnis ist dann eben nicht das gewuenschte, sonder ich bin immer noch im selben Zustand wie zuvor.
Eine Sache koennte ich mir noch vorstelle, wuesste aber nicht wie ich das umsetzen soll (google schweigt sich aus). Wenn ich als CURLOPT_URL die URL mit # aufrufe (HREF vom Submit). Aber wie geb ich dann die GET Daten mit?
Hoffe ihr koennt mir weiterhelfen!
Danke,
Daniel
Hab wieder ein kleine Problem mit libCurl. Ich rufe in meinem Programm diverse Seiten auf, auch als POST mit Daten im Anhang. Nun habe ich das Problem, dass wohl (laut Wireshark) immer wieder die gleichen FORM Daten (also von einem HTML Form) mit geschickt werden. So wird bei einem Aufruf irgendeiner Seite noch immer der Benutzername und das Kennwort mit geschickt.
So setze ich ein Feld:
C:
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "fieldname", CURLFORM_COPYCONTENTS, "fieldvalue", CURLFORM_END);
C:
// Reset the formpost chain
curl_formfree(formpost); // Ein Versuch, funktioniert leider nicht
// Reset curl_handle
curl_easy_reset(curl_handle);
Mein eigentliches Problem ist jedoch, dass ich eine Seite habe, die anders ist als die anderen und hier der POST Aufruf nicht funktioniert. Sprich alle anderen Seite interessiert das gar nicht, dass die Daten da noch drin sind.
Der Unterschied zu den anderen Seiten ist:
- Es ist eine URL mit GET Daten zusaetzlich (http://www.example.com/blah.php?getvar=data).
- Das Form hat kein Submit Feld, sonder wird per <a href='#'' onCLick='document.formname.submit()'> "gesubmitted".
Also ich rufe die Seite so:
C:
curl_formfree(formpost);
curl_easy_reset(curl_handle);
curl_easy_setopt(curl_handle, CURLOPT_URL, "www.example.com/blah.php?getvar=data");
curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, "post_field", CURLFORM_COPYCONTENTS, "post_data", CURLFORM_END);
curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formpost);
Das Ergebnis ist dann eben nicht das gewuenschte, sonder ich bin immer noch im selben Zustand wie zuvor.
Eine Sache koennte ich mir noch vorstelle, wuesste aber nicht wie ich das umsetzen soll (google schweigt sich aus). Wenn ich als CURLOPT_URL die URL mit # aufrufe (HREF vom Submit). Aber wie geb ich dann die GET Daten mit?

Hoffe ihr koennt mir weiterhelfen!
Danke,
Daniel