[CURL] Error 400: "Bad Request"
-
Hallo Leute
ich versuche mit "curl" eine HTML-Seite auszulesen.
Folgender Code:bool GetHttpString( CURL *curl, string &url, string *FeedbackString ) { if ( curl ) { char errorBuffer[ CURL_ERROR_SIZE ]; curl_easy_setopt( curl, CURLOPT_URL, url.c_str() ); curl_easy_setopt( curl, CURLOPT_HEADER, false ); curl_easy_setopt( curl, CURLOPT_FORBID_REUSE, true ); curl_easy_setopt( curl, CURLOPT_ERRORBUFFER, errorBuffer ); curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, writer ); curl_easy_setopt( curl, CURLOPT_WRITEDATA, FeedbackString ); curl_easy_setopt( curl, CURLOPT_USERAGENT, Username.c_str() ); curl_easy_setopt( curl, CURLOPT_TIMEOUT, 200 ); curl_easy_setopt( curl, CURLOPT_FOLLOWLOCATION, true ); curl_easy_setopt( curl, CURLOPT_MAXREDIRS, 50 ); curl_easy_setopt( curl, CURLOPT_FAILONERROR, true ); curl_easy_setopt( curl, CURLOPT_SSL_VERIFYHOST, false ); curl_easy_setopt( curl, CURLOPT_SSL_VERIFYPEER, false ); CURLcode res; res = curl_easy_perform( curl ); return ( res == CURLE_OK ); } return false; }
Leider liefert curl_easy_perform( curl ); FALSE zurück.
Der Fehler ist folgender: Error 400: "Bad Request"...Nun hab ich bei google schonmal soviel rausgefunden, dass es möglicherweise am Protokoll liegt.
Wenn ja: Kann ich der Anfrage an den Webserver mit CURL ein spezielles Protokoll aufzwingen ( z.B. HTTP 1.0 ? )?
Anmerkung: aktuelle arbeite ich unter Linux (Gentoo), aber bin mir sicher, dass ich den Code schonmal unter Win2k laufen hatte, wo er funktioniert hat.
gruß Tobi
-
Hab jetzt mal zwischendurch kurz den Username gewechselt und nu gehts wieder....
k.a. woran es gelegen hat
-
welchen compiler benutzt du? und wie lautet der befehl (z.B. cgi -Wall -o .. )
-
was macht curl_easy_perform( curl ); ?
curl muss ja true sein um in die if bedingung zu gelangen .. dort kommt dann die zuweisung mit curl_easy_perform( curl ); ..