Mam problem z libcurl. Napisałem prosty program, który powinien opublikować dane (wypełnić formularz), ale program nie działa. Moja forma:Publikowanie danych za pomocą 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>
...
Program:
#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;
}
oczywiście przetestowane ten kod: http://curl.haxx.se/libcurl/c/postit2.html ale to nie działa.
Czy ktoś może mi pomóc?
mógłbyś zdefiniować „nie działa”, łączy mnie –
więc pokażę wam prosty przykład. Używam http://curl.haxx.se/libcurl/c/http-post.html tego programu i testuję go na tej stronie: m.se.pl/nc/comments/dodaj/27/269110/ adres 'curl_easy_setopt (curl, CURLOPT_URL," http://m.se.pl/nc/comments/dodaj/27/269110/");'and 'curl_easy_setopt (curl, CURLOPT_POSTFIELDS," name = test & comment = test "); 'i skompiluj go - wszystko jest w porządku. Zaczynam swój program po 5 sekundach. program pokaż mi źródło tej strony (oczywiście kod źródłowy przed dodaniem posta). – user1518451
Na stronie, którą podajesz, musisz również podać dodatkowe informacje, aby utworzyć post, na przykład: security_hash, timesamp, next, etc (są ukryte pola). Możesz je zobaczyć w kodzie źródłowym strony. Przypuszczam, że to powoduje, że zapytanie o odrzut serwera powoduje brak strony internetowej. –