Wikia

Libcurlru вики

Список наблюдения Свежие правки
33статьи на этой вики

Заглавная

Добро пожаловать на ресурс, посвященный русской документации Libcurl

На данный момент создано 33 статьи, и вы можете помочь нам

Свежие правки | Активные участники | Категории | Справка | Шаблоны

На этом ресурсе размещается перевод документации библиотеки libcurl. Оригинал документации и саму библиотеку вы можете найти на официальном сайте http://curl.haxx.se/libcurl/. Цель проекта - обеспечить полный перевод на русский язык и обеспечить удобную навигацию по документации. Если вы нашли ошибку, замечание, неточность или грубость перевода, не поленитесь, откорректируйте страницу, ведь в том числе и от вашей работы зависит качество проекта. А если есть возможность, заведите описание еще не переведенных функций. Если вы решите помочь с переводом, пожалуйста, ознакомитесь с Правилами перевода.

Here you can find Libcurl documentation in Russian. Libcurl - a library used in the utility curl.

Содержание

Libcurl Править

libcurl это свободная и простая в использовании клиентская библиотека по передачи данных по URL, она поддерживает DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET и TFTP. Также libcurl имеет поддержку SSL сертификатов, HTTP POST, HTTP PUT, FTP загрузку, HTTP form загрузку, proxy, cookies, user+password авторизацию (Basic, Digest, NTLM, Negotiate, Kerberos), докачивания файлов, http прокси туннелирования и многого другого!

libcurl легко переносима, она собирается и работает на многих платформах, включая Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS и остальные...

libcurl свободна, потокобезопасна, совместима с IPv6, функциональна, имеет хорошую поддержку, быстрая, тщательно задокументирована и уже используется во многих известных, крупных и успешных компаний и в многочисленных приложениях.

Easy интерфейс Править

При использовании в Libcurl "простого" интерфейса вы инициализируете сеанс и получаете handle (часто упоминается как "easy handle"), который вы используете в качестве аргумента в функциях Easy интерфейса. Используйте curl_easy_init, чтобы получить handle.

После получения вы должны установить все нужные параметры в предстоящей передачи, наиболее важным среди которых является URL (передавать что-то без заданного URL невозможно). Вы можете задавать различные функции обратного вызова, которые будут вызываться из библиотеки, при получении данных и т.д. Для всего этого используется curl_easy_setopt.

После того как все настройки окончены, вы сообщаете Libcurl выполнение передачи с помощью curl_easy_perform. Она проделает все операции и вернет результат своей работы типа перечисления CURLcode.

После передачи, вы можете установить новые настройки и сделать еще передачу, или, если вы уже закончили, вызовите очистку сессии curl_easy_cleanup. Если вы хотите иметь постоянное подключение, не освобождайте handle сразу, вместо этого выполните другие передачи с использованием этого же handle.

Никогда не используйте один и тот же хендл в разных потоках!!! (можно сделать синхронизацию, но это сведёт на нет плюсы многопоточности)

Используемые функции Править

curl_easy_init curl_easy_getinfo Нужно перевести эту страницу curl_easy_strerror curl_free
curl_easy_cleanup curl_easy_setopt curl_easy_escape curl_escape Нужно перевести эту страницу
curl_easy_duphandle curl_easy_perform curl_easy_unescape curl_unescape Нужно перевести эту страницу
curl_easy_reset curl_easy_pause curl_formadd Нужно перевести эту страницу curl_getdate Нужно перевести эту страницу
curl_global_init curl_easy_send Нужно перевести эту страницу curl_formfree curl_version
curl_global_init_mem curl_easy_recv Нужно перевести эту страницу curl_slist_append Нужно перевести эту страницу curl_version_info Нужно перевести эту страницу
curl_global_cleanup curl_slist_free_all Нужно перевести эту страницу

Multi интерфейс Править

This is an overview on how to use the libcurl multi interface in your C programs. There are specific man pages for each function mentioned in here. There's also the libcurl-tutorial(3) man page for a complete tutorial to programming with libcurl and the libcurl-easy(3) man page for an overview of the libcurl easy interface.

All functions in the multi interface are prefixed with curl_multi.

Share интерфейс Править

This is an overview on how to use the libcurl share interface in your C programs. There are specific man pages for each function mentioned in here.

All functions in the share interface are prefixed with curl_share.


curl_share_setopt(3)

ПримерыПравить

Простой HTTP simple.c shows how to get a remote web page in only four libcurl function calls.

Простой HTTPS https.c gets a single HTTPS page, while simplessl.c shows how to get a remote https page and a set of various SSL-controlling options.

Получит через HTTP с помещением заголовков в отдельный файл sepheader.c gets a web page and stores the response-headers in a separate file.

Простой FTP ftpget.c proves that getting a FTP file is just as simple.

FTP upload ftpupload.c uploads a local file to a remote FTP server. It also renames the file after succcessful transfer.

Получение файла в память getinmemory.c describes how you can use the callback system to fetch documents into a ram buffer with no file writing necessary.

HTTP PUT httpput.c makes PUTs a local file to a HTTP server.

Отправка HTTP формы через POST postit2.c shows how to build a RFC1867-style form post and send it to a HTTP server.

постоянные соединения persistant.c shows that just getting files in a sequential manner will make it use persistant connections if the remote server supports it.

Многопоточное получение данных с URL multithread.c starts a number of threads and retrieves one URL in each thread. This requires a working thread library.

Получение данных с URL с отображением прогресса через GTK curlgtk.c uses GTK and the libcurl progress callback to show a GUI progress bar while downloading.

fopen() URL fopen.c shows how you could write an fopen()-style emulation layer to easily make your program read URLs instead of local files.

Неблокирующаяся отправка форм multipart multi-post.c makes a multipart formpost using the multi interface, which makes it a non-blocking operation.

Отладочный Callback debug.c shows how you can use the debug callback to get a full trace of all protocol data being sent/received (and more).

Разбор HTML htmltitle.cc shows how to use libxml to parse HTML retrieved with libcurl.

Использование CURLOPT_SSL_CTX_FUNCTION curlx.c uses CURLOPT_SSL_CTX_FUNCTION to set a custom callback to deal with an OpenSSL SSL_CTX * at SSL handshake time.

Использование SOAP с libcurl SOAP example by vivtek.com

Викия-сеть

Случайная вики