Программирование PC curl_easy_setopt: настройка поведения библиотеки libcurl Sat, November 02 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


curl_easy_setopt: настройка поведения библиотеки libcurl Печать
Добавил(а) microsin   

curl_easy_setopt - функция для упрощенной настройки опций, обрабатываемых curl.

SYNOPSIS

#include < curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);

ОПИСАНИЕ

Функция curl_easy_setopt(3) используется для того, чтобы указать для libcurl вариант поведения. Путем установки соответствующих опция приложение может менять поведение libcurl. Все опции устанавливаются путем указания константы опции, за которой идет параметр. Этот параметр может быть типа long, указателем на функцию, указателем на объект или curl_off_t, в зависимости в зависимости от того, что ожидает определенная опция. Пожалуйста внимательно изучите это руководство, поскольку неправильные входные значения могут привести к плохому поведению libcurl! За один вызов curl_easy_setopt вы можете установить только одну опцию. Типовое приложение использует множество вызовов curl_easy_setopt(3) на фазе настройки.

Параметры, установленные с помощью этой функции, действительны для всех предстоящих передач, выполняемых для указанного дескриптора handle. Опции никоим образом не сбрасываются между транзакциями, поэтому если вы хотите, чтобы последующие транзакции проходили с другими опциями, то необходимо поменять эти опции между транзакциями. Вы можете также при желании сбросить все опции обратно к их внутреннему состоянию по умолчанию путем вызова curl_easy_reset(3).

Строки, передаваемые в libcurl как аргументы 'char *', копируются библиотекой; таким образом, хранилище строки, связанное с аргументом указателя, может быть перезаписано после того, как curl_easy_setopt(3) выполнит возврат. Единственное исключение их этого правила составляет CURLOPT_POSTFIELDS(3), однако альтернатива этой опции CURLOPT_COPYPOSTFIELDS(3), копирующая строку, имеет некоторые характеристики использования, которые вам необходимо прочитать. Эта функция не принимает входные строки, которые по размеру больше CURL_MAX_INPUT_LENGTH (8 MB).

Порядок, в котором опции устанавливаются, не имеет значения.

До версии 7.17.0 строки не копируются. Вместо этого пользователю необходимо было их оставлять доступными, пока libcurl в них нуждается.

Параметр дескриптора handle это возвращаемое значение из вызова curl_easy_init(3) или curl_easy_duphandle(3).

ОПЦИИ ПОВЕДЕНИЯ

CURLOPT_VERBOSE
   Покажет подробную информацию. См. CURLOPT_VERBOSE(3).

CURLOPT_HEADER
   Подключит заголовок в тело вывода. См. CURLOPT_HEADER(3).

CURLOPT_NOPROGRESS
   Выключит измеритель прогресса. См. CURLOPT_NOPROGRESS(3).

CURLOPT_NOSIGNAL
   Не устанавливать обработчики сигналов. См. CURLOPT_NOSIGNAL(3).

CURLOPT_WILDCARDMATCH
   Передать несколько файлов в соответствии с шаблоном имени (file name pattern). См. CURLOPT_WILDCARDMATCH(3).

ОПЦИИ ФУНКЦИЙ ОБРАТНОГО ВЫЗОВА

CURLOPT_WRITEFUNCTION
   Callback для записи данных. См. CURLOPT_WRITEFUNCTION(3).

CURLOPT_WRITEDATA
   Указатель на данные для передачи в write callback. См. CURLOPT_WRITEDATA(3).

CURLOPT_READFUNCTION
   Callback для чтения данных. См. CURLOPT_READFUNCTION(3).

CURLOPT_READDATA
   Указатель на данные, передаваемый в read callback. См. CURLOPT_READDATA(3).

CURLOPT_IOCTLFUNCTION
   Callback для операций I/O. См. CURLOPT_IOCTLFUNCTION(3).

CURLOPT_IOCTLDATA
   Указатель на данные, передаваемый в I/O callback. См. CURLOPT_IOCTLDATA(3).

CURLOPT_SEEKFUNCTION
   Callback для операций seek. См. CURLOPT_SEEKFUNCTION(3).

CURLOPT_SEEKDATA
   Указатель на данные, передаваемый в seek callback. См. CURLOPT_SEEKDATA(3).

CURLOPT_SOCKOPTFUNCTION
  Callback для операций sockopt. См. CURLOPT_SOCKOPTFUNCTION(3).

CURLOPT_SOCKOPTDATA
   Указатель на данные, передаваемый в sockopt callback. См. CURLOPT_SOCKOPTDATA(3)

CURLOPT_OPENSOCKETFUNCTION
   Callback для socket creation. См. CURLOPT_OPENSOCKETFUNCTION(3)

CURLOPT_OPENSOCKETDATA
   Указатель на данные, передаваемый в open socket callback. См. CURLOPT_OPENSOCKETDATA(3)

CURLOPT_CLOSESOCKETFUNCTION
   Callback для closing socket. См. CURLOPT_CLOSESOCKETFUNCTION(3).

CURLOPT_CLOSESOCKETDATA
   Указатель на данные, передаваемый в close socket callback. См. CURLOPT_CLOSESOCKETDATA(3).

CURLOPT_PROGRESSFUNCTION
   OBSOLETE callback для progress meter. См. CURLOPT_PROGRESSFUNCTION(3).

CURLOPT_PROGRESSDATA
   Указатель на данные, передаваемый в progress meter callback. См. CURLOPT_PROGRESSDATA(3).

CURLOPT_XFERINFOFUNCTION
   Callback для progress meter. См. CURLOPT_XFERINFOFUNCTION(3).

CURLOPT_XFERINFODATA
   Указатель на данные, передаваемый в progress meter callback. См. CURLOPT_XFERINFODATA(3).

CURLOPT_HEADERFUNCTION
   Callback для записи принятых заголовков. См. CURLOPT_HEADERFUNCTION(3).

CURLOPT_HEADERDATA
   Указатель на данные, передаваемый в header callback. См. CURLOPT_HEADERDATA(3).

CURLOPT_DEBUGFUNCTION
   Callback для информации отладки. См. CURLOPT_DEBUGFUNCTION(3).

CURLOPT_DEBUGDATA
   Указатель на данные, передаваемый в debug callback. См. CURLOPT_DEBUGDATA(3).

CURLOPT_SSL_CTX_FUNCTION
   Callback для SSL context logic. См. CURLOPT_SSL_CTX_FUNCTION(3).

CURLOPT_SSL_CTX_DATA
   Указатель на данные, передаваемый в SSL context callback. См. CURLOPT_SSL_CTX_DATA(3)

CURLOPT_CONV_TO_NETWORK_FUNCTION
   Callback для code base conversion. См. CURLOPT_CONV_TO_NETWORK_FUNCTION(3).

CURLOPT_CONV_FROM_NETWORK_FUNCTION
   Callback для code base conversion. См. CURLOPT_CONV_FROM_NETWORK_FUNCTION(3).

CURLOPT_CONV_FROM_UTF8_FUNCTION
   Callback для code base conversion. См. CURLOPT_CONV_FROM_UTF8_FUNCTION(3).

CURLOPT_INTERLEAVEFUNCTION
   Callback для RTSP interleaved data. См. CURLOPT_INTERLEAVEFUNCTION(3).

CURLOPT_INTERLEAVEDATA
   Указатель на данные, передаваемый в RTSP interleave callback. См. CURLOPT_INTERLEAVEDATA(3).

CURLOPT_CHUNK_BGN_FUNCTION
   Callback для wildcard download start of chunk. См. CURLOPT_CHUNK_BGN_FUNCTION(3).

CURLOPT_CHUNK_END_FUNCTION
   Callback для wildcard download end of chunk. См. CURLOPT_CHUNK_END_FUNCTION(3).

CURLOPT_CHUNK_DATA
   Указатель на данные, передаваемый в chunk callbacks. См. CURLOPT_CHUNK_DATA(3).

CURLOPT_FNMATCH_FUNCTION
   Callback для wildcard matching. См. CURLOPT_FNMATCH_FUNCTION(3).

CURLOPT_FNMATCH_DATA
   Указатель на данные, передаваемый в wildcard matching callback. См. CURLOPT_FNMATCH_DATA(3).

CURLOPT_SUPPRESS_CONNECT_HEADERS
   Подавляет proxy CONNECT response headers из пользовательских callback-функций. См. CURLOPT_SUPPRESS_CONNECT_HEADERS(3).

CURLOPT_RESOLVER_START_FUNCTION
   Callback для вызова перед запуском нового resolve request. См. CURLOPT_RESOLVER_START_FUNCTION(3).

CURLOPT_RESOLVER_START_DATA
   Указатель на данные, передаваемый в resolver start callback. См. CURLOPT_RESOLVER_START_DATA(3).

ОПЦИИ ОШИБОК

CURLOPT_ERRORBUFFER
   Буфер сообщения об ошибках. См. CURLOPT_ERRORBUFFER(3).

CURLOPT_STDERR
   Поток для замены stderr. См. CURLOPT_STDERR(3).

CURLOPT_FAILONERROR
   Вызывает отказ на ошибках HTTP 4xx. CURLOPT_FAILONERROR(3).

CURLOPT_KEEP_SENDING_ON_ERROR
   Продолжать передавать при ошибках HTTP >= 300. CURLOPT_KEEP_SENDING_ON_ERROR(3).

СЕТЕВЫЕ ОПЦИИ

CURLOPT_URL
   URL, на котором осуществляется работа. См. CURLOPT_URL(3).

CURLOPT_PATH_AS_IS
   Запретить удаление последовательностей /../ и /./ в пути. См. CURLOPT_PATH_AS_IS(3).

CURLOPT_PROTOCOLS
   Разрешенные протоколы. См. CURLOPT_PROTOCOLS(3).

CURLOPT_REDIR_PROTOCOLS
   Протоколы для разрешения перенаправления. См. CURLOPT_REDIR_PROTOCOLS(3).

CURLOPT_DEFAULT_PROTOCOL
   Протокол по умолчанию. См. CURLOPT_DEFAULT_PROTOCOL(3).

CURLOPT_PROXY
   Используемый прокси. См. CURLOPT_PROXY(3).

CURLOPT_PRE_PROXY
   Используемый socks прокси. См. CURLOPT_PRE_PROXY(3).

CURLOPT_PROXYPORT
   Используемый порт прокси. См. CURLOPT_PROXYPORT(3).

CURLOPT_PROXYTYPE
   Тип прокси. См. CURLOPT_PROXYTYPE(3).

CURLOPT_NOPROXY
   Фильтрует хосты от использования прокси. CURLOPT_NOPROXY(3).

CURLOPT_HTTPPROXYTUNNEL
   Туннель через HTTP прокси. CURLOPT_HTTPPROXYTUNNEL(3).

CURLOPT_CONNECT_TO
   Подключение к определенному хосту и порту. См. CURLOPT_CONNECT_TO(3).

CURLOPT_SOCKS5_AUTH
   Методы аутентификации Socks5. См. CURLOPT_SOCKS5_AUTH(3).

CURLOPT_SOCKS5_GSSAPI_SERVICE
   Имя службы Socks5 GSSAPI. CURLOPT_SOCKS5_GSSAPI_SERVICE(3).

CURLOPT_SOCKS5_GSSAPI_NEC
   Режим Socks5 GSSAPI NEC. См. CURLOPT_SOCKS5_GSSAPI_NEC(3)

CURLOPT_PROXY_SERVICE_NAME
   Имя сервиса аутентификации прокси. CURLOPT_PROXY_SERVICE_NAME(3).

CURLOPT_HAPROXYPROTOCOL
   Отправка заголовка протокола HAProxy PROXY v1. См. CURLOPT_HAPROXYPROTOCOL(3).

CURLOPT_SERVICE_NAME
   Имя сервиса аутентификации. CURLOPT_SERVICE_NAME(3).

CURLOPT_INTERFACE
   Привязка соединения локально к этому интерфейсу. См. CURLOPT_INTERFACE(3).

CURLOPT_LOCALPORT
   Привязка соединения локально к этому порту. См. CURLOPT_LOCALPORT(3).

CURLOPT_LOCALPORTRANGE
   Привязка соединения локально к этому диапазону портов. См. CURLOPT_LOCALPORTRANGE(3).

CURLOPT_DNS_CACHE_TIMEOUT
   Таймаут для кеша DNS. См. CURLOPT_DNS_CACHE_TIMEOUT(3).

CURLOPT_DNS_USE_GLOBAL_CACHE
   OBSOLETE разрешение глобального кеша DNS. См. CURLOPT_DNS_USE_GLOBAL_CACHE(3).

CURLOPT_DOH_URL
   Использовать этот DOH сервер для разрешения имен. См. CURLOPT_DOH_URL(3).

CURLOPT_BUFFERSIZE
   Запросить альтернативный размер буфера. См. CURLOPT_BUFFERSIZE(3).

CURLOPT_PORT
   Номер порта для подключения. См. CURLOPT_PORT(3).

CURLOPT_TCP_FASTOPEN
   Разрешить TFO, TCP Fast Open. См. CURLOPT_TCP_FASTOPEN(3).

CURLOPT_TCP_NODELAY
   Разрешить алгоритм Nagle. См. CURLOPT_TCP_NODELAY(3).

CURLOPT_ADDRESS_SCOPE
   Область IPv6 для локальных адресов. См. CURLOPT_ADDRESS_SCOPE(3).

CURLOPT_TCP_KEEPALIVE
   Разрешить TCP keep-alive. См. CURLOPT_TCP_KEEPALIVE(3).

CURLOPT_TCP_KEEPIDLE
   Время ожидания перед отправкой keep-alive. См. CURLOPT_TCP_KEEPIDLE(3).

CURLOPT_TCP_KEEPINTVL
   Интервал между пробными запросами keep-alive. См. CURLOPT_TCP_KEEPINTVL(3).

CURLOPT_UNIX_SOCKET_PATH
   Путь до Unix domain socket. См. CURLOPT_UNIX_SOCKET_PATH(3).

CURLOPT_ABSTRACT_UNIX_SOCKET
   Путь до абстрактного Unix domain socket. См. CURLOPT_ABSTRACT_UNIX_SOCKET(3).

ОПЦИИ ИМЕН И ПАРОЛЕЙ (аутентификация)

CURLOPT_NETRC
   Разрешить .netrc парсинг. См. CURLOPT_NETRC(3).

CURLOPT_NETRC_FILE
   Имя файла .netrc. См. CURLOPT_NETRC_FILE(3).

CURLOPT_USERPWD
   Имя пользователя и пароль. См. CURLOPT_USERPWD(3).

CURLOPT_PROXYUSERPWD
   Имя пользователя и пароль прокси. См. CURLOPT_PROXYUSERPWD(3).

CURLOPT_USERNAME
   Имя пользователя. См. CURLOPT_USERNAME(3).

CURLOPT_PASSWORD
   Пароль. См. CURLOPT_PASSWORD(3).

CURLOPT_LOGIN_OPTIONS
   Опции логина. См. CURLOPT_LOGIN_OPTIONS(3).

CURLOPT_PROXYUSERNAME
   Имя пользователя прокси. См. CURLOPT_PROXYUSERNAME(3).

CURLOPT_PROXYPASSWORD
   Пароль прокси. См. CURLOPT_PROXYPASSWORD(3).

CURLOPT_HTTPAUTH
   Методы аутентификации сервера HTTP. См. CURLOPT_HTTPAUTH(3).

CURLOPT_TLSAUTH_USERNAME
   Имя пользователя TLS аутентификации. См. CURLOPT_TLSAUTH_USERNAME(3).

CURLOPT_PROXY_TLSAUTH_USERNAME
   Имя пользователя TLS аутентификации прокси. См. CURLOPT_PROXY_TLSAUTH_USERNAME(3).

CURLOPT_TLSAUTH_PASSWORD
   Пароль TLS аутентификации. См. CURLOPT_TLSAUTH_PASSWORD(3).

CURLOPT_PROXY_TLSAUTH_PASSWORD
   Пароль TLS аутентификации прокси. См. CURLOPT_PROXY_TLSAUTH_PASSWORD(3).

CURLOPT_TLSAUTH_TYPE
   Методы TLS аутентификации. См. CURLOPT_TLSAUTH_TYPE(3).

CURLOPT_PROXY_TLSAUTH_TYPE
   Методы TLS аутентификации прокси. См. CURLOPT_PROXY_TLSAUTH_TYPE(3).

CURLOPT_PROXYAUTH
   Методы аутентификации HTTP прокси. См. CURLOPT_PROXYAUTH(3).

CURLOPT_SASL_AUTHZID
   Удостоверение личности SASL (authorisation identity: личность, чтобы действовать в качестве). См. CURLOPT_SASL_AUTHZID(3)

CURLOPT_SASL_IR
   Разрешить SASL initial response. См. CURLOPT_SASL_IR(3).

CURLOPT_XOAUTH2_BEARER
   OAuth2 bearer token. См. CURLOPT_XOAUTH2_BEARER(3).

CURLOPT_DISALLOW_USERNAME_IN_URL
   Не позволять имя пользователя в URL. См. CURLOPT_DISALLOW_USERNAME_IN_URL(3).

ОПЦИИ HTTP

CURLOPT_AUTOREFERER
   Автоматически установит Referer: заголовка. См. CURLOPT_AUTOREFERER(3).

CURLOPT_ACCEPT_ENCODING
   Accept-Encoding и автоматическая декомпрессия данных. См. CURLOPT_ACCEPT_ENCODING(3).

CURLOPT_TRANSFER_ENCODING
   Request Transfer-Encoding. См. CURLOPT_TRANSFER_ENCODING(3).

CURLOPT_FOLLOWLOCATION
   Следовать перенаправлениям HTTP. См. CURLOPT_FOLLOWLOCATION(3).

CURLOPT_UNRESTRICTED_AUTH
   Не ограничивайте аутентификацию исходным хостом. См. CURLOPT_UNRESTRICTED_AUTH(3).

CURLOPT_MAXREDIRS
   Максимальное количество перенаправлений, которым нужно следовать. См. CURLOPT_MAXREDIRS(3).

CURLOPT_POSTREDIR
   Как работают перенаправления после POST. См. CURLOPT_POSTREDIR(3).

CURLOPT_PUT
   Выдать запрос HTTP PUT. См. CURLOPT_PUT(3).

CURLOPT_POST
   Выдать запрос HTTP POST. См. CURLOPT_POST(3).

CURLOPT_POSTFIELDS
   Послать POST с этими данными. См. CURLOPT_POSTFIELDS(3).

CURLOPT_POSTFIELDSIZE
   Отключить strlen для данных POST. См. CURLOPT_POSTFIELDSIZE(3).

CURLOPT_POSTFIELDSIZE_LARGE
   Отключить strlen для данных POST. См. CURLOPT_POSTFIELDSIZE_LARGE(3).

CURLOPT_COPYPOSTFIELDS
   Отправить POST с этими данными - и сделать их копию. См. CURLOPT_COPYPOSTFIELDS(3).

CURLOPT_HTTPPOST
   Multipart formpost HTTP POST. См. CURLOPT_HTTPPOST(3).

CURLOPT_REFERER
   Referer: header. См. CURLOPT_REFERER(3).

CURLOPT_USERAGENT
   User-Agent: header. См. CURLOPT_USERAGENT(3).

CURLOPT_HTTPHEADER
   Пользовательские заголовки HTTP. См. CURLOPT_HTTPHEADER(3).

CURLOPT_HEADEROPT
   Управление пользовательскими заголовками. См. CURLOPT_HEADEROPT(3).

CURLOPT_PROXYHEADER
   Пользовательские заголовки HTTP, отправляемые прокси. См. CURLOPT_PROXYHEADER(3).

CURLOPT_HTTP200ALIASES
   Альтернативные версии 200 OK. См. CURLOPT_HTTP200ALIASES(3).

CURLOPT_COOKIE
   Куки для отправки. См. CURLOPT_COOKIE(3).

CURLOPT_COOKIEFILE
   Файл, откуда считываются куки. См. CURLOPT_COOKIEFILE(3).

CURLOPT_COOKIEJAR
   Файл для записи туда куки. См. CURLOPT_COOKIEJAR(3).

CURLOPT_COOKIESESSION
   Начать новую сессию куки. См. CURLOPT_COOKIESESSION(3).

CURLOPT_COOKIELIST
   Добавить куки или управлять ими. См. CURLOPT_COOKIELIST(3).

CURLOPT_ALTSVC
   Указать Alt-Svc: имя файла кеша. См. CURLOPT_ALTSVC(3).

CURLOPT_ALTSVC_CTRL
   Разрешить и конфигурировать Alt-Svc: treatment. См. CURLOPT_ALTSVC_CTRL(3).

CURLOPT_HSTS
   Установить файл кеша HSTS. См. CURLOPT_HSTS(3).

CURLOPT_HSTS_CTRL
   Разрешить HSTS. См. CURLOPT_HSTS_CTRL(3).

CURLOPT_HSTSREADFUNCTION
   Установить HSTS read callback. См. CURLOPT_HSTSREADFUNCTION(3).

CURLOPT_HSTSREADDATA
   Передать указатель в HSTS read callback. См. CURLOPT_HSTSREADDATA(3).

CURLOPT_HSTSWRITEFUNCTION
   Установить HSTS write callback. См. CURLOPT_HSTSWRITEFUNCTION(3).

CURLOPT_HSTSWRITEDATA
   Передать указатель в HSTS write callback. См. CURLOPT_HSTSWRITEDATA(3).

CURLOPT_HTTPGET
   Выполнить запрос HTTP GET. См. CURLOPT_HTTPGET(3).

CURLOPT_REQUEST_TARGET
   Установить цель запроса. CURLOPT_REQUEST_TARGET(3).

CURLOPT_HTTP_VERSION
   Используемая версия HTTP. CURLOPT_HTTP_VERSION(3).

CURLOPT_HTTP09_ALLOWED
   Разрешить ответы HTTP/0.9. CURLOPT_HTTP09_ALLOWED(3).

CURLOPT_IGNORE_CONTENT_LENGTH
   Игнорировать Content-Length. См. CURLOPT_IGNORE_CONTENT_LENGTH(3).

CURLOPT_HTTP_CONTENT_DECODING
   Запретить декодирование содержимого. См. CURLOPT_HTTP_CONTENT_DECODING(3).

CURLOPT_HTTP_TRANSFER_DECODING
   Запретить декодирование транзакции. См. CURLOPT_HTTP_TRANSFER_DECODING(3).

CURLOPT_EXPECT_100_TIMEOUT_MS
   100-continue timeout. См. CURLOPT_EXPECT_100_TIMEOUT_MS(3).

CURLOPT_TRAILERFUNCTION
   Установить callback для отправки завершающих заголовков. См. CURLOPT_TRAILERFUNCTION(3).

CURLOPT_TRAILERDATA
   Пользовательский указатель, передаваемый в callback завершающих заголовков. См. CURLOPT_TRAILERDATA(3).

CURLOPT_PIPEWAIT
   Ждать соединения для передачи на нем. См. CURLOPT_PIPEWAIT(3).

CURLOPT_STREAM_DEPENDS
   Этот поток HTTP/2 зависит от другого. См. CURLOPT_STREAM_DEPENDS(3).

CURLOPT_STREAM_DEPENDS_E
   Этот поток HTTP/2 исключительно зависит от другого. См. CURLOPT_STREAM_DEPENDS_E(3).

CURLOPT_STREAM_WEIGHT
   Установить вес этого потока HTTP/2. См. CURLOPT_STREAM_WEIGHT(3).

ОПЦИИ SMTP

CURLOPT_MAIL_FROM
   Адрес отправителя. См. CURLOPT_MAIL_FROM(3).

CURLOPT_MAIL_RCPT
   Адрес получателей. См. CURLOPT_MAIL_RCPT(3).

CURLOPT_MAIL_AUTH
   Адрес аутентификации. См. CURLOPT_MAIL_AUTH(3).

CURLOPT_MAIL_RCPT_ALLLOWFAILS
   Разрешить команду RCPT TO для сбоя доставки на некоторых получателях. См. CURLOPT_MAIL_RCPT_ALLLOWFAILS(3)

ОПЦИИ TFTP

CURLOPT_TFTP_BLKSIZE
   Размер блока TFTP. См. CURLOPT_TFTP_BLKSIZE(3).

CURLOPT_TFTP_NO_OPTIONS
   Не отправлять опции запросов TFTP. См. CURLOPT_TFTP_NO_OPTIONS(3).

ОПЦИИ FTP

CURLOPT_FTPPORT
   Использовать активный FTP. См. CURLOPT_FTPPORT(3).

CURLOPT_QUOTE
   Команды, запускаемые перед транзакцией. См. CURLOPT_QUOTE(3).

CURLOPT_POSTQUOTE
   Команды, запускаемые после транзакции. См. CURLOPT_POSTQUOTE(3).

CURLOPT_PREQUOTE
   Команды для запуска непосредственно перед транзакцией. См. CURLOPT_PREQUOTE(3).

CURLOPT_APPEND
   Присоединить к remote файлу. См. CURLOPT_APPEND(3).

CURLOPT_FTP_USE_EPRT
   Использовать EPTR. См. CURLOPT_FTP_USE_EPRT(3).

CURLOPT_FTP_USE_EPSV
   Использовать EPSV. См. CURLOPT_FTP_USE_EPSV(3).

CURLOPT_FTP_USE_PRET
   Использовать PRET. См. CURLOPT_FTP_USE_PRET(3).

CURLOPT_FTP_CREATE_MISSING_DIRS
   Создать отсутствующие директории на remote сервере.  См.  CURLOPT_FTP_CREATE_MISSING_DIRS(3).

CURLOPT_FTP_RESPONSE_TIMEOUT
   Таймаут для ответов FTP. См. CURLOPT_FTP_RESPONSE_TIMEOUT(3).

CURLOPT_FTP_ALTERNATIVE_TO_USER
   Альтернатива для USER. См. CURLOPT_FTP_ALTERNATIVE_TO_USER(3).

CURLOPT_FTP_SKIP_PASV_IP
   Игнорировать IP-адрес в ответе PASV. См. CURLOPT_FTP_SKIP_PASV_IP(3).

CURLOPT_FTPSSLAUTH
   Управление обработкой TLS. См. CURLOPT_FTPSSLAUTH(3).

CURLOPT_FTP_SSL_CCC
   После проверки подлинности снова вернуться в режим, отличный от TLS. См. CURLOPT_FTP_SSL_CCC(3).

CURLOPT_FTP_ACCOUNT
   Отправка команды ACCT. См. CURLOPT_FTP_ACCOUNT(3).

CURLOPT_FTP_FILEMETHOD
   Указывает, как добраться до файлов. См. CURLOPT_FTP_FILEMETHOD(3).

ОПЦИИ RTSP

CURLOPT_RTSP_REQUEST
   Запрос RTSP. См. CURLOPT_RTSP_REQUEST(3).

CURLOPT_RTSP_SESSION_ID
   RTSP session-id. См. CURLOPT_RTSP_SESSION_ID(3).

CURLOPT_RTSP_STREAM_URI
   RTSP stream URI. См. CURLOPT_RTSP_STREAM_URI(3).

CURLOPT_RTSP_TRANSPORT
   RTSP Transport: header. См. CURLOPT_RTSP_TRANSPORT(3).

CURLOPT_RTSP_CLIENT_CSEQ
   Client CSEQ number. См. CURLOPT_RTSP_CLIENT_CSEQ(3).

CURLOPT_RTSP_SERVER_CSEQ
   CSEQ number для запроса RTSP Server->Client. См. CURLOPT_RTSP_SERVER_CSEQ(3).

CURLOPT_AWS_SIGV4
   AWS HTTP V4 Signature. См. CURLOPT_AWS_SIGV4(3).

ОПЦИИ ПРОТОКОЛА

CURLOPT_TRANSFERTEXT
   Использовать текстовые транзакции. См. CURLOPT_TRANSFERTEXT(3).

CURLOPT_PROXY_TRANSFER_MODE
   Добавить режим транзакции для URL over proxy. См. CURLOPT_PROXY_TRANSFER_MODE(3).

CURLOPT_CRLF
   Преобразование символов новых строк. См. CURLOPT_CRLF(3).

CURLOPT_RANGE
   Запросы диапазона. См. CURLOPT_RANGE(3).

CURLOPT_RESUME_FROM
   Возобновление транзакции. См. CURLOPT_RESUME_FROM(3).

CURLOPT_RESUME_FROM_LARGE
   Возобновление транзакции. См. CURLOPT_RESUME_FROM_LARGE(3).

CURLOPT_CURLU
   Установка URL для работы вместе с CURLU *. См. CURLOPT_CURLU(3).

CURLOPT_CUSTOMREQUEST
   Пользовательский запрос/метод. См. CURLOPT_CUSTOMREQUEST(3).

CURLOPT_FILETIME
   Запрос модификации даты и времени файла. См. CURLOPT_FILETIME(3).

CURLOPT_DIRLISTONLY
   Только список директории. См. CURLOPT_DIRLISTONLY(3).

CURLOPT_NOBODY
   Не получать содержимое тела. См. CURLOPT_NOBODY(3).

CURLOPT_INFILESIZE
   Размер файла для отправки. CURLOPT_INFILESIZE(3).

CURLOPT_INFILESIZE_LARGE
   Размер файла для отправки. CURLOPT_INFILESIZE_LARGE(3).

CURLOPT_UPLOAD
   Выгрузка данных. См. CURLOPT_UPLOAD(3).

CURLOPT_UPLOAD_BUFFERSIZE
   Установка размера буфера выгрузки. См. CURLOPT_UPLOAD_BUFFERSIZE(3).

CURLOPT_MIMEPOST
   Post/send MIME data. См. CURLOPT_MIMEPOST(3).

CURLOPT_MAXFILESIZE
   Максимальный размер файла для получения. См. CURLOPT_MAXFILESIZE(3).

CURLOPT_MAXFILESIZE_LARGE
   Максимальный размер файла для получения. См. CURLOPT_MAXFILESIZE_LARGE(3).

CURLOPT_TIMECONDITION
   Сделать запрос с привязкой ко времени. См. CURLOPT_TIMECONDITION(3).

CURLOPT_TIMEVALUE
   Значение времени для запроса с привязкой ко времени. См. CURLOPT_TIMEVALUE(3).

CURLOPT_TIMEVALUE_LARGE
   Значение времени для запроса с привязкой ко времени. См. CURLOPT_TIMEVALUE_LARGE(3).

ОПЦИИ СОЕДИНЕНИЯ

CURLOPT_TIMEOUT
   Таймаут для всего запроса. См. CURLOPT_TIMEOUT(3).

CURLOPT_TIMEOUT_MS
   Таймаут в миллисекундах для всего запроса. См. CURLOPT_TIMEOUT_MS(3).

CURLOPT_LOW_SPEED_LIMIT
   Ограничение скорости для обрыва транзакции. См. CURLOPT_LOW_SPEED_LIMIT(3).

CURLOPT_LOW_SPEED_TIME
   Время, в течение которого скорость должна быть ниже, чтобы сработал обрыв транзакции по скорости. См. CURLOPT_LOW_SPEED_TIME(3).

CURLOPT_MAX_SEND_SPEED_LARGE
   Ограничение скорости выгрузки. См. CURLOPT_MAX_SEND_SPEED_LARGE(3).

CURLOPT_MAX_RECV_SPEED_LARGE
   Ограничение скорости загрузки. См. CURLOPT_MAX_RECV_SPEED_LARGE(3).

CURLOPT_MAXCONNECTS
   Максимальзое количество соединений в пуле соединений. См. CURLOPT_MAXCONNECTS(3).

CURLOPT_FRESH_CONNECT
   Использование нового соединения. CURLOPT_FRESH_CONNECT(3).

CURLOPT_FORBID_REUSE
   Предотвратить повторное использование последующих подключений. См. CURLOPT_FORBID_REUSE(3)

CURLOPT_MAXAGE_CONN
   Ограничить возраст соединений для повторного использования. См. CURLOPT_MAXAGE_CONN(3).

CURLOPT_CONNECTTIMEOUT
   Таймаут фазы соединения. См. CURLOPT_CONNECTTIMEOUT(3).

CURLOPT_CONNECTTIMEOUT_MS
   Таймаут фазы соединения в миллисекундах. См.  CURLOPT_CONNECTTIMEOUT_MS(3).

CURLOPT_IPRESOLVE
   Какую версию протокола IP использовать. См. CURLOPT_IPRESOLVE(3).

CURLOPT_CONNECT_ONLY
   Только соединяться, больше ничего не делать. См. CURLOPT_CONNECT_ONLY(3).

CURLOPT_USE_SSL
   Использовать TLS/SSL. См. CURLOPT_USE_SSL(3).

CURLOPT_RESOLVE
   Предоставить фиксированное (пользовательское) отображение имени хоста на IP. См. CURLOPT_RESOLVE(3).

CURLOPT_DNS_INTERFACE
   Привязать разрешение имен к этому интерфейсу. См. CURLOPT_DNS_INTERFACE(3).

CURLOPT_DNS_LOCAL_IP4
   Привязать разрешение имен к этому адресу IP4. См. CURLOPT_DNS_LOCAL_IP4(3).

CURLOPT_DNS_LOCAL_IP6
   Привязать разрешение имен к этому адресу IP4. См. CURLOPT_DNS_LOCAL_IP6(3).

CURLOPT_DNS_SERVERS
   Предпочтительные сервера DNS. См. CURLOPT_DNS_SERVERS(3).

CURLOPT_DNS_SHUFFLE_ADDRESSES
   Перемешать адреса перед использование. См. CURLOPT_DNS_SHUFFLE_ADDRESSES(3).

CURLOPT_ACCEPTTIMEOUT_MS
   Таймаут ожидания подтверждения обратного подключения сервера. См. CURLOPT_ACCEPTTIMEOUT_MS(3).

CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
   Таймаут протокола "счастливых глаз". См. CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3).

CURLOPT_UPKEEP_INTERVAL_MS
   Задает интервал, с которым выполняется обслуживание соединения. См.  CURLOPT_UPKEEP_INTERVAL_MS(3).

ОПЦИИ SSL И БЕЗОПАСНОСТИ

CURLOPT_SSLCERT
   Сертификат клиента. См. CURLOPT_SSLCERT(3).

CURLOPT_SSLCERT_BLOB
   Буфер в памяти сертификата клиента. См. CURLOPT_SSLCERT_BLOB(3).

CURLOPT_PROXY_SSLCERT
   Сертификат клиента прокси. См. CURLOPT_PROXY_SSLCERT(3).

CURLOPT_PROXY_SSLCERT_BLOB
   Буфер в памяти сертификата клиента прокси. См. CURLOPT_PROXY_SSLCERT_BLOB(3).

CURLOPT_SSLCERTTYPE
   Тип сертификата клиента. См. CURLOPT_SSLCERTTYPE(3).

CURLOPT_PROXY_SSLCERTTYPE
   Тип сертификата клиента прокси. См. CURLOPT_PROXY_SSLCERTTYPE(3).

CURLOPT_SSLKEY
   Ключ клиента. См. CURLOPT_SSLKEY(3).

CURLOPT_SSLKEY_BLOB
   Буфер в памяти ключа клиента. См. CURLOPT_SSLKEY_BLOB(3).

CURLOPT_PROXY_SSLKEY
   Ключ клиента прокси. См. CURLOPT_PROXY_SSLKEY(3).

CURLOPT_PROXY_SSLKEY_BLOB
   Буфер в памяти ключа клиента прокси. См. CURLOPT_PROXY_SSLKEY_BLOB(3).

CURLOPT_SSLKEYTYPE
   Тип ключа клиента. См. CURLOPT_SSLKEYTYPE(3).

CURLOPT_PROXY_SSLKEYTYPE
   Тип ключа клиента прокси. См. CURLOPT_PROXY_SSLKEYTYPE(3).

CURLOPT_KEYPASSWD
   Пароль ключа клиента. См. CURLOPT_KEYPASSWD(3).

CURLOPT_PROXY_KEYPASSWD
   Пароль ключа клиента прокси. См. CURLOPT_PROXY_KEYPASSWD(3).

CURLOPT_SSL_EC_CURVES
   Установка кривых обмена ключами. См. CURLOPT_SSL_EC_CURVES(3).

CURLOPT_SSL_ENABLE_ALPN
   Разрешение использования ALPN. См. CURLOPT_SSL_ENABLE_ALPN(3).

CURLOPT_SSL_ENABLE_NPN
   Разрешение использования NPN. См. CURLOPT_SSL_ENABLE_NPN(3).

CURLOPT_SSLENGINE
   Использовать идентификатор с подсистемой SSL. См. CURLOPT_SSLENGINE(3).

CURLOPT_SSLENGINE_DEFAULT
   Подсистема SSL по умолчанию. См. CURLOPT_SSLENGINE_DEFAULT(3).

CURLOPT_SSL_FALSESTART
   Разрешить TLS False Start. См. CURLOPT_SSL_FALSESTART(3).

CURLOPT_SSLVERSION
   Используемая версия SSL. См. CURLOPT_SSLVERSION(3).

CURLOPT_PROXY_SSLVERSION
   Используемая версия прокси SSL. См. CURLOPT_PROXY_SSLVERSION(3).

CURLOPT_SSL_VERIFYHOST
   Проверять имя хоста в сертификате SSL. См. CURLOPT_SSL_VERIFYHOST(3).

CURLOPT_PROXY_SSL_VERIFYHOST
   Проверять имя хоста в сертификате прокси SSL. См.  CURLOPT_PROXY_SSL_VERIFYHOST(3)

CURLOPT_SSL_VERIFYPEER
   Проверять сертификат SSL. См. CURLOPT_SSL_VERIFYPEER(3).

CURLOPT_PROXY_SSL_VERIFYPEER
   Проверять сертификат прокси SSL. См. CURLOPT_PROXY_SSL_VERIFYPEER(3).

CURLOPT_SSL_VERIFYSTATUS
   Проверять статус сертификата SSL. См. CURLOPT_SSL_VERIFYSTATUS(3).

CURLOPT_CAINFO
   Пакет сертификатов авторизационного центра (CA cert bundle). См. CURLOPT_CAINFO(3).

CURLOPT_PROXY_CAINFO
   Пакет сертификатов прокси авторизационного центра (proxy CA cert bundle). См. CURLOPT_PROXY_CAINFO(3).

CURLOPT_ISSUERCERT
   Издатель сертификата. См. CURLOPT_ISSUERCERT(3).

CURLOPT_ISSUERCERT_BLOB
   Буфер памяти издателя сертификата. См. CURLOPT_ISSUERCERT_BLOB(3).

CURLOPT_PROXY_ISSUERCERT
   Издатель сертификата прокси. См. CURLOPT_PROXY_ISSUERCERT(3).

CURLOPT_PROXY_ISSUERCERT_BLOB
   Буфер памяти издателя сертификата прокси. См. CURLOPT_PROXY_ISSUERCERT_BLOB(3).

CURLOPT_CAPATH
   Путь до CA cert bundle. См. CURLOPT_CAPATH(3).

CURLOPT_PROXY_CAPATH
   Путь до proxy CA cert bundle. См. CURLOPT_PROXY_CAPATH(3).

CURLOPT_CRLFILE
   Список отзыва сертификатов. См. CURLOPT_CRLFILE(3).

CURLOPT_PROXY_CRLFILE
   Список отзыва сертификатов прокси. См. CURLOPT_PROXY_CRLFILE(3).

CURLOPT_CERTINFO
   Извлечь информацию сертификата. См. CURLOPT_CERTINFO(3).

CURLOPT_PINNEDPUBLICKEY
   Установить закрепленный открытый ключ SSL. См. CURLOPT_PINNEDPUBLICKEY(3).

CURLOPT_PROXY_PINNEDPUBLICKEY
   Установить закрепленный открытый ключ SSL прокси. См. CURLOPT_PROXY_PINNEDPUBLICKEY(3).

CURLOPT_RANDOM_FILE
   Предоставить источник случайных данных (entropy random data). См. CURLOPT_RANDOM_FILE(3).

CURLOPT_EGDSOCKET
   Идентифицировать сокет EGD для энтропии. См. CURLOPT_EGDSOCKET(3).

CURLOPT_SSL_CIPHER_LIST
   Используемые шифровальщики. См. CURLOPT_SSL_CIPHER_LIST(3).

CURLOPT_PROXY_SSL_CIPHER_LIST
   Используемые шифровальщики прокси. См. CURLOPT_PROXY_SSL_CIPHER_LIST(3).

CURLOPT_TLS13_CIPHERS
   Используемые наборы шифров TLS 1.3. См. CURLOPT_TLS13_CIPHERS(3).

CURLOPT_PROXY_TLS13_CIPHERS
   Используемые наборы шифров TLS 1.3 прокси. См. CURLOPT_PROXY_TLS13_CIPHERS(3).

CURLOPT_SSL_SESSIONID_CACHE
   Запрет кеш идентификатора сессии SSL. См. CURLOPT_SSL_SESSIONID_CACHE(3).

CURLOPT_SSL_OPTIONS
   Управление поведением SSL. См. CURLOPT_SSL_OPTIONS(3).

CURLOPT_PROXY_SSL_OPTIONS
   Управление поведением SSL прокси. См. CURLOPT_PROXY_SSL_OPTIONS(3).

CURLOPT_KRBLEVEL
   Уровень безопасности Kerberos. См. CURLOPT_KRBLEVEL(3).

CURLOPT_GSSAPI_DELEGATION
   Запретить делегирование GSS-API. См. CURLOPT_GSSAPI_DELEGATION(3).

ОПЦИИ SSH

CURLOPT_SSH_AUTH_TYPES
   Типы аутентификации SSH. См. CURLOPT_SSH_AUTH_TYPES(3).

CURLOPT_SSH_COMPRESSION
   Разрешить компрессию SSH. См. CURLOPT_SSH_COMPRESSION(3).

CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
   MD5 публичного ключа хоста. См. CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3).

CURLOPT_SSH_PUBLIC_KEYFILE
   Имя файла публичного ключа. См. CURLOPT_SSH_PUBLIC_KEYFILE(3).

CURLOPT_SSH_PRIVATE_KEYFILE
   Имя файла приватного ключа. См. CURLOPT_SSH_PRIVATE_KEYFILE(3).

CURLOPT_SSH_KNOWNHOSTS
   Имя файла с известными хостами. См. CURLOPT_SSH_KNOWNHOSTS(3).

CURLOPT_SSH_KEYFUNCTION
   Callback для обработки известных хостов. См. CURLOPT_SSH_KEYFUNCTION(3).

CURLOPT_SSH_KEYDATA
   Пользовательский указатель на данные ключа, передаваемый в callback-функцию. См. CURLOPT_SSH_KEYDATA(3).

ДРУГИЕ ОПЦИИ

CURLOPT_PRIVATE
   Указатель на приватное хранилище. См. CURLOPT_PRIVATE(3).

CURLOPT_SHARE
   Используемый общий объект. См. CURLOPT_SHARE(3).

CURLOPT_NEW_FILE_PERMS
   Режим для создания новых remote файлов. См. CURLOPT_NEW_FILE_PERMS(3).

CURLOPT_NEW_DIRECTORY_PERMS
   Режим для создания новых remote директорий. См. CURLOPT_NEW_DIRECTORY_PERMS(3).

ОПЦИИ TELNET

CURLOPT_TELNETOPTIONS
   Опции TELNET. См. CURLOPT_TELNETOPTIONS(3).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

CURLE_OK (ноль) означает, что опция была успешно установлена, ненулевое значение показывает случаи ошибки, определенные в заголовке < curl/curl.h>. См. man-руководство libcurl-errors(3) для полного описания значения кодов ошибок.

Строки, переданные в libcurl, должны быть меньше 8000000 байт, иначе curl_easy_setopt(3) возвратит CURLE_BAD_FUNCTION_ARGUMENT (добавлено в 7.65.0).

CURLE_BAD_FUNCTION_ARGUMENT возвращается, кода аргумент для опции недопустимый, например выходит за допустимый диапазон.

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

ПРИМЕР ИСПОЛЬЗОВАНИЯ

CURL *curl = curl_easy_init();
if(curl) { CURLcode res; curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); res = curl_easy_perform(curl); curl_easy_cleanup(curl); }

СМ. ТАКЖЕ

curl_easy_init(3),  curl_easy_cleanup(3), curl_easy_reset(3), curl_easy_getinfo(3), curl_multi_setopt(3)

libcurl 7.75.0                         July 03, 2020                   curl_easy_setopt(3)

[Ссылки]

1. curl_easy_setopt set options for a curl easy handle site:curl.se.

 

Добавить комментарий


Защитный код
Обновить

Top of Page