curl_setopt -- Устанавливает параметр для сеанса CURL
Описание
bool curl_setopt ( resource ch, string option, mixed value )
Функция curl_setopt() Устанавливает параметр для
сеанса CURL, заданного аргументом ch.
Аргумент option задает устанавливаемый
параметр, а value - его значение.
Для перечисленных ниже параметров, value
должен быть целым числом:
CURLOPT_INFILESIZE: при закачке файла на
удаленный сервер, следует использовать этот параметр для указания
ожидаемого размера файла.
CURLOPT_VERBOSE: При установке этого
параметра в ненулевое значение cURL будет выводить подробные
сообщения о всех производимых действиях.
CURLOPT_HEADER: При установке этого
параметра в ненулевое значение результат будет включать полученные
заголовки.
CURLOPT_NOPROGRESS: При установке этого
параметра в ненулевое значение не будет выводиться индикатор
прогресса операции.
Замечание:
В PHP этот параметр устанавливается в ненулевое значение по
умолчнию. Изменять его значение рекомендуется только при
отладке.
CURLOPT_NOBODY: При установке этого
параметра в ненулевое значение результат не будет включать
документ (например, вам нужно получить только заголовки).
CURLOPT_FAILONERROR: При установке этого
параметра в ненулевое значение, получение HTTP кода
более 300 считается ошибкой.
CURLOPT_UPLOAD: Установка этого
параметра в ненулевое значение означает, что будет производиться
закачка файла на удаленный сервер.
CURLOPT_POST: При установке этого
параметра в ненулевое значение будет отправлен HTTP запрос методом POST
типа application/x-www-form-urlencoded,
используемый браузерами при отправке форм.
CURLOPT_FTPLISTONLY: При установке этого
параметра в ненулевое значение будет получен список файлов в
директории FTP сервера.
CURLOPT_FTPAPPEND: При установке этого
параметра в ненулевое значение данные будут добавляться к файлу на
FTP сервере, в противном случае файл будет перезаписан.
CURLOPT_NETRC: При установке этого
параметра в ненулевое значение будет сделана попытка найти имя
пользователя и пароль к удаленному серверу в файле
~./netrc.
CURLOPT_FOLLOWLOCATION: При установке этого
параметра в ненулевое значение, при получении HTTP заголовка
"Location: " будет происходить перенаправление на указанный этим
заголовком URL (это действие выполняется рекурсивно, для каждого
полученного заголовка "Location:").
CURLOPT_PUT: При установке этого
параметра в ненулевое значение, будет производиться закачка файла
методом HTTP PUT. Файл задается параметрами
CURLOPT_INFILE и
CURLOPT_INFILESIZE.
CURLOPT_MUTE: При установке этого
параметра в ненулевое значение, все сообщения cURL будут
подавляться.
CURLOPT_TIMEOUT: Задает масимальное время
выполнения операции в секундах.
CURLOPT_LOW_SPEED_LIMIT: Задает минимальную
скорость передачи в байтах в секунду. Если в течении времени,
заданного параметром
CURLOPT_LOW_SPEED_TIME, скорость передачи
будет меньше этого значения, операция будет прервана.
CURLOPT_LOW_SPEED_TIME: Задает время в
секундах, в течение которого скорость передачи должна быть ниже,
чем CURLOPT_LOW_SPEED_LIMIT, чтобы операция
была признана слишком медленной и прервана.
CURLOPT_RESUME_FROM: Задает позицию в файле
в байтах, с которой начнется передача данных.
CURLOPT_CAINFO: Имя файла, содержащего один
или более сертификатов, которые будут использованы при проверке
подлинности удаленного сервера. Имеет значение только совместно с
параметром CURLOPT_SSL_VERIFYPEER.
CURLOPT_SSL_VERIFYPEER: Установите этот
параметр в ноль, чтобы запретить проверку сертификата удаленного
сервера (начиная с curl 7.10, по умолчанию этот параметр имеет
значение TRUE). Дополнительные сертификаты можно задать с
помощью параметра CURLOPT_CAINFO
(добавленного в in curl 7.9.8). Можно также указать путь к файлам
сертификатов в параметре CURLOPT_CAPATH.
Если CURLOPT_SSL_VERIFYPEER установлен в 0,
возможно, также потребуется установить
CURLOPT_SSL_VERIFYHOST в 1 или 0 (по
умолчанию 2).
CURLOPT_SSLVERSION: Целое число,
указывающее, какую версию SSL использовать (2 или 3). По умолчанию
версия SSL определяется автоматически, но в некоторых случаях
требуется явное указание.
CURLOPT_SSL_VERIFYHOST: Задает проверку
имени, указанного в сертификате удаленного сервера, при
установлении SSL соединения. Значение 1 означает проверку
существования имени, значение 2 - кроме того, и проверку
соответствия имени хоста.
CURLOPT_TIMECONDITION: Задает способ
интерпретации значения параметра
CURLOPT_TIMEVALUE. Возможные значения:
TIMECOND_IFMODSINCE или TIMECOND_ISUNMODSINCE. Применяется
только для протокола HTTP.
CURLOPT_TIMEVALUE: Задает время в секундах
с 1 января 1970 г. Это значение будет использовано в соответствии
со значением параметра CURLOPT_TIMECONDITION
(по умолчанию TIMECOND_IFMODSINCE).
CURLOPT_RETURNTRANSFER: При установке этого
параметра в ненулевое значение CURL будет возвращать результат, а
не выводить его.
Для перечисленных ниже параметров, value
должен быть строкой:
CURLOPT_URL: URL, с которым будет
производиться операция. Значение этого параметра также может быть
задано в вызове функции curl_init().
CURLOPT_USERPWD: Стока с именем
пользователя и паролем в виде [username]:[password].
CURLOPT_PROXYUSERPWD: Стока с именем
пользователя и паролем к HTTP прокси-серверу в виде
[username]:[password].
CURLOPT_RANGE: Задает участок файла,
который нужно загрузить, в формате "X-Y" , причем X или Y
могут быть опущены. Протокол HTTP также поддерживает передачу
нескольких фрагментов файла, это задается в виде "X-Y,N-M".
CURLOPT_POSTFIELDS: Строка, содержащая
данные для HTTP POST запроса.
CURLOPT_REFERER: Задает значение HTTP
заголовка "Referer: ".
CURLOPT_USERAGENT: Задает значение HTTP
заголовка "User-Agent: ".
CURLOPT_FTPPORT: Задает значение, которое
будет использоваться для определения IP адреса для команды "PORT"
протокола ftp. Команда "PORT" сообщает серверу, с каким IP
адресом он должен устанавливать соединение. Это может быть IP
адрес, имя хоста, имя сетевого интерфейса (под Unix), или просто
'-' для использования IP адреса по умолчанию.
CURLOPT_COOKIE: Содержимое заголовка
"Cookie: ", который будет отправлен с HTTP запросом.
CURLOPT_SSLCERT: Имя файла с сертификатом в
формате PEM.
CURLOPT_SSLCERTPASSWD: Пароль к файлу
сертификата, заданному параметром
CURLOPT_SSLCERT.
CURLOPT_COOKIEFILE: Имя файла, содержащего
данные cookie. Данные могут быть либо в формате Netscape, либо
просто HTTP-заголовки.
CURLOPT_CUSTOMREQUEST: Задает специальный
метод, который будет использован в HTTP запросе
вместоGET или HEAD. Это
используется для отправке запросов DELETE или
других, редко используемых. Допустимыми зачениями являются
GET, POST, и т.д;
не передавайте полный HTTP запрос в этом параметре. Например,
'GET /index.html HTTP/1.0\r\n\r\n' недопустимо.
Замечание:
Перед использованием этого параметра убедитесь, что сервер, к
которому вы обращаетесь, поддерживает требуемый метод.
CURLOPT_PROXY: Имя HTTP прокси, через
который будут направляться запросы.
CURLOPT_INTERFACE: Имя используемого
сетевого интерфейса. Может быть именем интерфейса, IP адресом или
именем хоста.
CURLOPT_KRB4LEVEL: Уровень безопасности
KRB4 (Kerberos 4). Допустимы следующие значения (в порядке
возрастания безопасности) : 'clear', 'safe',
'confidential', 'private'. Если переданное значение не входит в
этот список, используется 'private'. Установка этого параметра в
NULL, запрещает безопасность KRB4 . В настоящее
время безопасность KRB4 поддерживается только для протокола FTP.
CURLOPT_HTTPHEADER: Массив с HTTP
заголовками.
CURLOPT_QUOTE: Массив с FTP командами,
которые будут выполнены перед выполнением основного запроса.
CURLOPT_POSTQUOTE: Массив с FTP командами,
которые будут выполнены после выполнения основного запроса.
Для перечисленных ниже параметров, value
должен быть дескриптором файла, возвращенным функцией
fopen():
CURLOPT_FILE: Файл, в который будет выведен
результат операции. По умолчанию STDOUT.
CURLOPT_INFILE: Файл, содержащий данные для
передачи.
CURLOPT_WRITEHEADER: Файл, в который будут
выведены полученные заголовки.
CURLOPT_STDERR: Файл, в который будут
выводиться сообщения об ошибках. По умолчанию STDERR.
Пример 1.
Инициализация сеанса CURL и загрузка web-страницы
<?php // инициализация сеанса $ch = curl_init();
// установка URL и других необходимых параметров curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); curl_setopt($ch, CURLOPT_HEADER, 0);
// загрузка страницы и выдача её браузеру curl_exec($ch);
// завершение сеанса и освобождение ресурсов curl_close($ch); ?>