Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[libcurl] Znaczenie opcji CURLOPT_READFUNCTION

Ostatnio zmodyfikowano 2011-07-16 01:14
Autor Wiadomość
abdul
Temat założony przez niniejszego użytkownika
[libcurl] Znaczenie opcji CURLOPT_READFUNCTION
» 2011-07-15 14:28:22
Witam.
Ostatnio zajmuję się trochę biblioteką libcurl.
Czytam dokumentację i tutoriale(niestety po angielsku) i mam problem ze zrozumieniem tej opcji.


curl_easy_setopt(curl, CURLOPT_READFUNCTION, function);

i tutaj prototyp funkcji

size_t function( void *ptr, size_t size, size_t nmemb, void *userdata)

No i tak jak opcja WRITEFUNCTION służyła do pobrania źródła strony to w przypadku tej opcji nie mam pojęcia do czego służy.
I nie wiem też za co są odpowiedzialne argumenty funkcji.

Wydaje mi się że do pierwszego argumentu zostają zapisane jakieś dane( analogicznie do WRITEFUNCTION gdzie było zapisane źródło strony).
W drugim rozmiar danych, a w 3 ich ilość. A czwarty to bufor???????


W przypadku writefunction w google można było więcej informacji znaleźć ale o readfunction tylko tyle co w dokumentacji.


Jak by chociaż tam w dokumentacji podali jakiś przykładowy kod, to na pewno było by łatwiej zrozumieć .


pozdrawiam.
P-35994
Mrowqa
» 2011-07-15 14:31:47
Temat wątku ?? Widać DejaVu coś nie wyszło :P Napisz temat do swojego wątku.

@DejaVu - masz kolejną robotę :P Żeby zawsze sprawdzało temat przy tworzeniu wątków :)

Pozdrawiam,
Mrowqa
P-35995
DejaVu
» 2011-07-15 15:56:37
Czwarty = USER DATA = możesz dać NULL albo przekazać własne dane do funkcji jeżeli takowe potrzebujesz.
P-36008
abdul
Temat założony przez niniejszego użytkownika
» 2011-07-15 21:50:46
dzięki za odpowiedź tylko jeszcze najważniejsze pytanie, jak działa ta opcja?

temacik już jest :P
P-36038
DejaVu
» 2011-07-15 22:24:05
ale mówisz o funkcji, którą wkleiłeś czy o WRITEFUNCTION o której piszesz (o ile coś takiego istnieje)?
P-36039
abdul
Temat założony przez niniejszego użytkownika
» 2011-07-15 22:51:22
sorki chyba źle się wyraziłem.


Piszę o opcji CURLOPT_READFUNCTION, czyli argumencie funkcji curl_easy_setopt();


curl_easy_setopt(curl, CURLOPT_READFUNCTION, function);

I teraz proszę zwrócić na 3 argument funkcji w którym podałem nazwę funkcji w której będzie się odbywała jakaś operacja, ale właśnie nie wiem jaka.

Prototyp tej funkcji wygląda tak jak podałem

size_t function( void *ptr, size_t size, size_t nmemb, void *userdata)




Odniosłem się do CURLOPT_WRITEFUNCTION ponieważ jest bardzo podobna do CURLOPT_READFUNCTION.
CURLOPT_WRITEFINCTION ma za zadanie pobrać źródło strony, ale właśnie problem mam z CURLOPT_READFUNCTION.


Sorki bo chyba troszkę zamieszałem, mam nadzieję że teraz zrozumiale napisałem.
P-36041
DejaVu
» 2011-07-16 01:14:07
Myślę, że WRITEFUNCTION może służyć do wysyłania danych metodą post (ale strzelam). Skoro dane wysyłamy to pierwszym argumentem będzie bufor z danymi, drugim jego rozmiar całkowity, trzecim rozmiar wysyłanego aktualnie bloku, a czwarty opcjonalne dane użytkownika. Oczywiście mogę się mylić - nie stosowałem do tej pory curla do wysyłania danych, a dokumentacja jest na tyle toporna na ich stronie, że aż się nie chce mi jej analizować by Ci dać satysfakcjonującą odpowiedź... ;p
P-36044
« 1 »
  Strona 1 z 1