[libcurl] Znaczenie opcji CURLOPT_READFUNCTION
Ostatnio zmodyfikowano 2011-07-16 01:14
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. |
|
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 |
|
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. |
|
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 |
|
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)? |
|
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. |
|
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 |
|
« 1 » |