2012-07-22 17 views
6

Tengo un problema con libcurl. Escribí un programa simple que debería publicar datos (llenar el formulario) pero el programa no funciona. Mi forma:Publicar datos con 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> 
... 

Programa:

#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; 
} 

Por supuesto he probado este código: http://curl.haxx.se/libcurl/c/postit2.html pero no está funcionando.

¿Alguien me puede ayudar?

+1

Podría por favor definir "no trabajar", se conecta para mí –

+0

Así os muestro ejemplo sencillo. Utilizo http://curl.haxx.se/libcurl/c/http-post.html este programa y lo pruebo en esta página: m.se.pl/nc/comments/dodaj/27/269110/ llene el dirección 'curl_easy_setopt (curl, CURLOPT_URL," http://m.se.pl/nc/comments/dodaj/27/269110/");' y 'curl_easy_setopt (curl, CURLOPT_POSTFIELDS," name = test & comment = test "); 'y compilarlo - todo está bien. Comienzo mi programa, después de 5 seg. programa show me source esta página (por supuesto código fuente antes de agregar la publicación). – user1518451

+1

En la página web que proporcione, también debe incluir información adicional para enviar mensajes como: security_hash, timesamp, next, etc (son campos ocultos). Puede verlos en el código fuente de la página web. Supongo que esto hace que el servidor rechace la consulta y no se devuelva ninguna página web –

Respuesta

3

debe configurar CURLOPT_URL para hacer frente a lo que apunta, y comprueba

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

por ejemplo

+0

He comprobado esto: http://curl.haxx.se/libcurl/c/http-post.html pero no ha enviado mis datos. ¿Alguna sugerencia? – user1518451

+1

parece que te has perdido curl_global_init –

+0

No me perdí curl_global_init El ejemplo que uso (http://curl.haxx.se/libcurl/c/http-post.html) lo contiene. ¿Alguna otra sugerencia? – user1518451