2012-07-22 6 views
6

Ich habe ein Problem mit libcurl. Ich schrieb ein einfaches Programm, das Daten hochladen sollte (füllen Sie das Formular), aber das Programm funktioniert nicht. Meine Form:Postdaten mit libcurl

... 
<div><label for="id_person_name">Your name</label> <input type="text" id="id_person_name" name="name" /></div> 
      <div></div> 

      <div class="clear"></div> 
      <div><label for="id_comment">Comment</label><textarea name="comment" id="id_comment" rows="10" cols="60" class="txt"></textarea></div> 
... 

Programm:

#include <curl/curl.h> 
#include <iostream> 

using namespace std; 

int main(){ 

CURL *curl; 
CURLcode res; 

curl = curl_easy_init(); 

if(curl) { 
    curl_easy_setopt(curl, CURLOPT_URL, "http://examplesite.com"); 
    curl_easy_setopt(curl, CURLOPT_POST, 1); 
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=Bjarne&comment=example"); 
res = curl_easy_perform(curl); 
curl_easy_cleanup(curl); 

cout << endl; 
} 
return 0; 
} 

Natürlich testete ich diesen Code: http://curl.haxx.se/libcurl/c/postit2.html aber es funktioniert nicht.

Kann mir jemand helfen?

+1

Könnten Sie bitte „nicht funktioniert“ definieren, es verbindet für mich –

+0

So zeige ich Ihnen einfaches Beispiel. Ich benutze http://curl.haxx.se/libcurl/c/http-post.html dieses Programm und ich teste es auf dieser Seite: m.se.pl/nc/comments/dodaj/27/269110/ Ich fülle die Adresse 'curl_easy_setopt (curl, CURLOPT_URL," http://m.se.pl/nc/comments/dodaj/27/269110/"); und 'curl_easy_setopt (curl, CURLOPT_POSTFIELDS," Name = Test & Kommentar = Test "); 'und kompilieren Sie es - alles ist in Ordnung. Ich starte mein Programm nach 5 Sek. Programm zeige mir Quelle diese Seite (natürlich Quellcode vor dem Hinzufügen der Post). – user1518451

+1

Auf der Webseite, die Sie angeben, müssen Sie auch einige zusätzliche Informationen einfügen, um einen Beitrag wie: security_hash, timesamp, next usw. (sie sind versteckte Felder) zu erstellen. Sie können sie im Webseiten-Quellcode sehen. Ich nehme an, dass dies Server ablehnt Anfrage verursacht keine Webseite Rückkehr –

Antwort

3

müssen Sie CURLOPT_URL einstellen zu adressieren, welche Punkte, überprüfen

http://curl.haxx.se/libcurl/c/http-post.html

zum Beispiel

+0

Ich habe dies überprüft: http://curl.haxx.se/libcurl/c/http-post.html aber es hat meine Daten nicht gesendet.Jeder Vorschlag? – user1518451

+1

sieht aus wie Sie curl_global_init –

+0

Ich habe nicht verpassen curl_global_init Das Beispiel, das ich benutze (http://curl.haxx.se/libcurl/c/http-post.html), enthält das. Irgendwelche anderen Vorschläge? – user1518451