Функция curl_setopt() устанавливает опции для CURL-сессии, идентифицируемой параметром ch.
Параметр option является опцией, которую вы хотите установить, а value это значение опции
option.
Параметр value должен быть long для следующих опций (специфицированных параметром
option):
CURLOPT_INFILESIZE: Если вы выгружаете файл на удалённый сайт, эта опция должна использоваться,
для того чтобы сообщит PHP, какой будет ожидаемый размер infile.
CURLOPT_VERBOSE: Установите эту опцию в ненулевое значение, если вы хотите, чтобы CURL
сообщала обо всех действиях.
CURLOPT_HEADER: Установите эту опцию в ненулевое значение, если вы хотите, чтобы шапка/header
включалась в вывод.
CURLOPT_NOPROGRESS: Установите эту опцию в ненулевое значение, если вы не хотите, чтобы PHP
выводил индикатор процесса CURL-трансфера.
Примечание:
PHP автоматически устанавливает эту опцию в ненулевое значение, изменять её необходимо лишь при отладке.
CURLOPT_NOBODY: Установите эту опцию в ненулевое значение, если вы не хотите, чтобы тело/body
включалось в вывод.
CURLOPT_FAILONERROR: Установите эту опцию в ненулевое значение, если вы хотите, чтобы PHP завершал
работу скрыто, если возвращаемый HTTP-код имеет значение выше 300. По
умолчанию страница возвращается нормально с игнорированием кода.
CURLOPT_UPLOAD: Установите эту опцию в ненулевое значение, если вы хотите, чтобы PHP
подготавливал файл к выгрузке.
CURLOPT_POST: Установите эту опцию в ненулевое значение, если вы хотите, чтобы PHP выполнял
регулярный HTTP POST. Этот POST имеет нормальный вид application/x-www-form-urlencoded, чаще всего используемый HTML-формами.
CURLOPT_FTPLISTONLY: Установите эту опцию в ненулевое значение, и PHP будет выводит листинг имён FTP-директории.
CURLOPT_FTPAPPEND: Установите эту опцию в ненулевое значение, и PHP будет присоединять к
удалённому/remote файлу, вместо его перезаписи.
CURLOPT_NETRC: Установите эту опцию в ненулевое значение, и PHP будет сканировать ваш файл
~./netrc с целью поиска ваших username и password для удалённого сайта, с которым вы
устанавливаете соединение.
CURLOPT_FOLLOWLOCATION: Установите эту опцию в ненулевое значение, чтобы следовать любому "Location: " header,
который сервер высылает как часть HTTP header’а (заметьте,
что это рекурсия, PHP будет следовать за всеми "Location: "-header’ами, которые высылаются.)
CURLOPT_PUT: Установите эту опцию в ненулевое значение, чтобы HTTP PUT файл. Файл для PUT
обязан быть установлен с помощью CURLOPT_INFILE и CURLOPT_INFILESIZE.
CURLOPT_MUTE: Установите эту опцию в ненулевое значение, и PHP будет работать скрыто в
отношении CURL-функций.
CURLOPT_TIMEOUT: Передаёт long как параметр, который содержит максимальное время в секундах,
которое вы отводите для работы CURL-функций.
CURLOPT_LOW_SPEED_LIMIT: Передаёт long как параметр, который содержит скорость трансфера в байтах в
секунду, ниже которого трансфер должен работать в процессе выполнения
CURLOPT_LOW_SPEED_TIME, в секундах, чтобы PHP считал его слишком медленным и прерывал его.
CURLOPT_LOW_SPEED_TIME: Передаёт long как параметр, который содержит время в секундах, ниже которого
трансфер должен работать в процессе выполнения CURLOPT_LOW_SPEED_LIMIT,
чтобы PHP считал его слишком медленным и прерывал его.
CURLOPT_RESUME_FROM: Передаёт long как параметр, который содержит смещение в байтах, с которого
трансфер должен стартовать.
CURLOPT_SSLVERSION: Передаёт long как параметр, который содержит используемую версию SSL (2 или 3).
По умолчанию PHP пытается определить это сам, хотя в некоторых случаях вы обязаны устанавливать это вручную.
CURLOPT_SSL_VERIFYHOST: Передаёт long, если
CURL должна проверять Common-имя peer-сертификата в SSL handshake/"рукопожатие". Значение 1 указывает, что мы должны
проверить существование общего /common имени, значение 2 указывает, что мы
должны убедиться в совпадении с предоставленным hostname.
CURLOPT_TIMECONDITION: Передаёт long как параметр, который определяет, как рассматривается CURLOPT_TIMEVALUE.
Вы можете установить этот параметр для TIMECOND_IFMODSINCE или
TIMECOND_ISUNMODSINCE. Это действует только для HTTP.
CURLOPT_TIMEVALUE: Передаёт long как параметр, который является временем в секундах, прошедшим
после 1 января 1970. Это время используется, как специфицировано опцией CURLOPT_TIMEVALUE,
или по умолчанию будет использоваться TIMECOND_IFMODSINCE.
CURLOPT_RETURNTRANSFER: Передаёт ненулевое значение, если вы хотите, чтобы CURL непосредственно
возвращала трансфер, вместо его печати напрямую.
Параметр value должен быть строкой для следующих значений параметра option:
CURLOPT_URL: Это URL, который PHP должен получать. Вы можете также устанавливать эту
опцию при инициализации сессии функцией curl_init().
CURLOPT_USERPWD: Передаёт в РНР строку, отформатированную в виде [username]:[password], для
использования при соединении.
CURLOPT_PROXYUSERPWD: Передаёт в РНР строку, отформатированную в виде [username]:[password], для
соединения с HTTP-прокси.
CURLOPT_RANGE: Передаёт специфицированный вами диапазон. Он должен быть в формате "X-Y",
где X или Y могут отсутствовать. HTTP-трансферы поддерживают также различные интервалы, разделённые запятыми, как, например, X-Y,N-M.
CURLOPT_POSTFIELDS: Передаёт строку, содержащую полные данные для передачи операцией HTTP "POST".
CURLOPT_REFERER: Передаёт строку, содержащую "referer/ссылающийся" header, используемый в HTTP-запросе.
CURLOPT_USERAGENT: Передаёт строку, содержащую "user-agent" header, используемый в HTTP-запросе.
CURLOPT_FTPPORT: Передаёт строку, содержащую значение, которое будет использоваться для
получения IP-адреса для инструкции ftp "POST". POST-инструкция указывает
удалённому серверу: соединиться со специфицированным IP-адресом. Строка
может быть обычным IP-адресом, hostname/именем хоста, именем сетевого
интерфейса (под UNIX), ил просто обычным ’-’, используемым для системного IP-адреса по умолчанию.
CURLOPT_COOKIE: Передаёт строку с содержимым куки/cookie, установленным в HTTP header’е.
CURLOPT_SSLCERTPASSWD: Передаёт строку, содержащую password, необходимый для работы сертификата CURLOPT_SSLCERT.
CURLOPT_COOKIEFILE: Передаёт строку, содержащую имя файла с данными куки.
Этот cookie-файл может иметь формат Netscape, или содержать обычные
шапки/headers в HTTP-стиле, забитые в файл.
CURLOPT_CUSTOMREQUEST: Передаёт строку, используемую вместо
GET или HEAD при выполнении HTTP-запроса. Это делается для выполнения DELETE или других, более скрытых HTTP-запросов. Верными значениями являются
GET, POST и так далее; то есть не вводите здесь полную строку HTTP-запроса. Например,
ввод ’GET /index.html HTTP/1.0
’ будет некорректным.
Примечание:
не делайте это, если не уверены, что ваш сервер поддерживает эту команду.
CURLOPT_PROXY: Передаёт имя HTTP-прокси туннельным запросам.
CURLOPT_INTERFACE: Передаёт имя исходящего сетевого интерфейса для использования. Это может
быть имя интерфейса, IP-адрес или имя хоста.
CURLOPT_KRB4LEVEL: Передаёт KRB4 (Kerberos
4) уровень секретности. Это любая из следующих строк (в порядке от менее до более мощной): ’clear’, ’safe’,
’confidential’, ’private’. Если эта строка не совпадает с какой-либо из указанных, то используется ’private’.
Если вы установите здесь NULL, это отключит KRB4-безопасность. KRB4-безопасность работает в настоящее
время только с транзакциями FTP.
CURLOPT_HTTPHEADER: Передаёт массив полей HTTP-header’а для установки.
CURLOPT_QUOTE: Передаёт массив FTP-команд для выполнения на сервере до выполнения FTP-запроса.
CURLOPT_POSTQUOTE: Передаёт массив FTP-команд для выполнения на сервере после выполнения FTP-запроса.
Следующие опции ожидают дескриптора файла, который получается с помощью функции
fopen():
CURLOPT_FILE: Файл, куда должен быть помещён вывод вашего трансфера, по умолчанию это STDOUT.
CURLOPT_INFILE: Файл, из которого приходит ввод вашего трансфера.
CURLOPT_WRITEHEADER: Файл для записи header-части вывода.
CURLOPT_STDERR: Файл для записи ошибок, вместо stderr.