PHP: Curl
Итак, Curl - это проект, целью которого является интерпретация URL и выборка из них данных, за проект Curl отвечает Дениел Стенберг (Daniel Stenberg). Почти все сценарии, использующие Curl - схожи по своему принципу:
создание ресурса Curl функцией curl_init
установку параметров с помощью функции curl_setopt
выполнение запроса с помощью curl_exec.
Недавно в проект Curl был добавлен так называемый мультиинтерфейс. Теперь РНР поддерживает и эти функции, но они ещё сыроваты.
- void curl_close(resource curl)
- Функция curl_close освобождает память, занятую ресурсом Curl,
- string curlerror(resource curl)
- Функция curlerror возвращает описание последней ошибки для заданного ресурса Curl.
- integer curl_errno(resource curl)
- Функция curl_errno возвращает номер последней ошибки, сгенерированной заданным ресурсом Curl.В таблице ниже приведены константы РНР, представляющие коды ошибок, возвращаемые функцией curl_errno()
Коды ошибок, возвращаемые CURL функциями
| Константа | Описание |
|---|---|
| CURLE_ABORTED_BY_CALLBACK | Функция callback прервала операцию |
| CURLE_BAD_CALLING_ORDER | Неверный порядок вызова функций |
| CURLE_BAD_FUNCTION_ARGUMENT | Неверный параметр функции |
| CURLE_BAD_PASSWORD_ENTERED | Введен неправильный пароль |
| CURLE_COULDNT_CONNECT | Невозможно подключиться к узлу |
| CURLE_COULDNT_RESOLVE_HOST | Невозможно обнаружить узел |
| CURLE_COULDNT_RESOLVE_PROXY | Невозможно обнаружить прокси-сервер |
| CURLE_FAILED_INIT | Ошибка инициализации |
| CURLE_FILE_COULDNT_READ_FILE | Нельзя прочитать файл |
| CURLE_FTP_ACCESS_DENIED | Во время FTP-операции доступ невозможен |
| CURLE_FTP_BAD_DOWNLOAD_RESUME | Неудачное продолжение FTP-загрузки |
| CURLE_FTP_CANT_GET_HOST | Невозможно обнаружить FTP-узел |
| CURLE_FTP_CANT_RECONNECT | Невозможно повторно подключиться к FTP-серверу |
| CURLE_FTP_COULDNT_GET_SIZE | Ошибка FTP-команды SIZE |
| CURLE_FTP_COULDNT_RETR_FILE | Невозможно найти файл по FTP-соединению |
| CURLE_FTP_COULDNT_SET_ASCII | Невозможно установить режим ASCII |
| CURLE_FTP_COULDNT_SET_BINARY | Невозможно установить режим BINARY |
| CURLE_FTP_COULDNT_STOR_FILE | Ошибка FTP-команды STOR |
| CURLE_FTP_COULDNT_USE_REST | Ошибка FTP-команды REST |
| CURLE_FTP_PORT_FAILED | Ошибка FTP-команды PORT |
| CURLE_FTP_QUOTE_ERROR | Ошибка FTP-команды QUOTE |
| CURLE_FTP_USER_PASSWORD_INCORRECT | Неправильная пара пользователь-пароль для FTP-соединения |
| CURLE_FTP_WEIRD_227_FORMAT | Нераспознанный ответ на FTP-команду 227 |
| CURLE_FTP_WEIRD_PASS_REPLY | Нераспознанный ответ на FTP-команду PASS |
| CURLE_FTP_WEIRD_PASV_REPLY | Нераспознанный ответ на FTP-команду PASV |
| CURLE_FTP_WEIRD_SERVER_REPLY | Нераспознанный ответ FTPrcepeepa |
| CURLE_FTP_WEIRD_USER_REPLY | Нераспознанный ответ USER FTP-протокола |
| CURLE_FTP_WRITE_ERROR | FTP-сервер сообщает о проблемах при выполнении операций записи |
| CURLE_FUNCTION_NOT_FOUND | Функция LDAP не найдена |
| CURLE_HTTP_NOT_FOUND | HTTP-страница не найдена |
| CURLE_HTTP_POST_ERROR | Ошибка HTTP-команды post |
| CURLE_HTTP_RANGE_ERROR | Ошибка диапазона HTTP |
| CURLE_LDAP_CANNOT_BIND | Ошибка связи библиотеки LDAP |
| CURLE_LDAP_SEARCH_FAILED | Ошибка поиска библиотеки LDAP |
| CURLE_LIBRARY_NOT_FOUND | Библиотека LDAP не найдена |
| CURLE_MALFORMAT_USER | Неправильно задано имя пользователя |
| CURLE_OK | Ошибок нет |
| CURLE_OPERATION_TIMEOUTED | Тайм-аут операции |
| CURLE_OUT_OF_MEMORY | Не хватает памяти |
| CURLE_PARTIAL_FILE | Была передана только часть файла |
| CURLE_READ_ERROR | Ошибка чтения на локальном устройстве |
| CURLE_SSL_CONNECT_ERROR | Ошибка SSL-соединения |
| CURLE_SSL_PEER_CERTIFICATE | Непроверенный сертификат SSL |
| CURLE_TOO_MANY_REDIRECTS | Слишком много переадресаций |
| CURLE_UNKNOWN_TELNET_OPTION | Задан неизвестный параметр утилиты TELNET |
| CURLE_UNSUPPORTED_PROTOCOL | Протокол не поддерживается |
| CURLE_UNSUPPORTED_PROTOCOL | Протокол не поддерживается |
| CURLE_URL_MALFORMAT | Ошибочный URL |
| CURLE_URL_MALFORMAT_USER | Ошибочный URL пользователя |
| CURLE_WRITE_ERROR | Ошибка записи на локальном устройстве |
- boolean/string curl_ехес(resource curl)
- Функция curl_ехес предназначена для выполнения запроса. В зависимости от параметра CURLOPT_RETURNTRANSFER функция curl_ехес возвращает логическое значение или запрашиваемые данные см. пример ниже.
CURL отправка POST запроса:
<?php
if(!($curl = curl_init()))
{
exit ('Невозможно инициализировать ресурс Curl!');
}
//Настроить процессор поиска php.net для выполнения запроса post
curl_setopt($curl, CURLOPT_URL, 'http://www.php.net/search.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'lang=en_US&Zend API&show=nosource');
//сделать запрос
$results = curl_exec($curl);
print('<pre>');
print(htmlentities($results));
print ('</pre>');
?>
- string curl_getinfo(resource curl, integer info)
- Функция curl_getinfо применяется для поиска информации о Curl-запросе. В таблице ниже приведен перечень констант, используемых в аргументе info.
Заметьте!
Авторы Curl не стали плодить множество функций, для работы, они пошли другим путём. В скрипте используются несколько функций, а вот их поведение, и скрипта в целом, настраивается с помощью функции curl_setopt и её констант - их то как раз хренова куча! Так что Ctrl + F вам в помощь - я специально не стал разбивать материал на несколько страниц, что бы пользуясь встроенной функцией поиска, в вашем браузере, вы могли найти описание нужной константы на одной странице.
Перечень констант, используемых в аргументе curl_getinfo
| Константа | Описание |
|---|---|
| CURLINFO_CONNECT_TIME | Время, затраченное на соединение |
| CURLINFO_CONTENT_LENGTH_DOWNLOAD | Значение заголовка HTTP-заголовка Content-length |
| CURLINFO_CONTENT_LENGTH_UPLOAD | Размер выгруженного файла |
| CURLINFO_CONTENT_TYPE | Значение HTTP-заголовка Content - type |
| CURLINFO_EFFECTIVE_URL | URL, использованный во время последнего запроса |
| CURLINFO_FILETIME | Если Curl может определять время изменения запрошенного файла, оно может устанавливаться по временной метке Unix. Curl возвращает значение -1, если не представляется возможным получить время модификации |
| CURLINFO_HEADER_SIZE | Длина всех HTTP-запросов в байтах |
| CURLINFO_HTTP_CODE | HTTP-код, который возвращает сервер |
| CURLINFO_NAMELOOKUP_TIME | Вещественное значение, отражающее время в секундах, необходимое для определения имени |
| CURLINFO_PRETRANSFER_TIME | Вещественное значение, отражающее время в секундах, прошедшее до начала передачи |
| CURLINFO_REDIRECT_COUNT | Количество переадресаций |
| CURLINFO_REDIRECT_TIME | Вещественное значение, отражающее время в секундах, необходимое для всех шагов переадресации |
| CURLINFO_REQUEST_SIZE | Размер HTTP - запроса |
| CURLINFO_SIZE_DOWNLOAD | Общий размер загруженных данных в байтах |
| CURLINFO_SIZE_UPLOAD | Всего выгружено байт |
| CURLINFO_SPEED_DOWNLOAD | Скорость всех загрузок в байтах в секунду |
| CURLINFO_SPEED_UPLOAD | Скорость всех выгрузок в байтах в секунду |
| CURLINFO_SSL_VERIFYRESULT | Результат проверки соединения при SSL-запросе |
| CURLINFO_STARTTRANSFER_TIME | Время, затраченное на начало передачи |
| CURLINFO_TOTAL_TIME | Вещественное значение, отражающее время в секундах, необходимое для завершения передачи за исключением времени, необходимого для подключения |
<?php
//принять стартовую страницу узла Zend
$curl = curl_init('http://www.zend.com/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_exec($curl);
//получить различную информацию
echo 'CURLINFO_CONNECT_TIME: '.curl_getinfo($curl, CURLINFO_CONNECT_TIME).'<br />';
echo 'CURLINFO_CONTENT_LENGTH_DOWNLOAD: '.curl_getinfo($curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD).'<br />';
echo 'CURLINFO_CONTENT_LENGTH_UPLOAD: '.curl_getinfo($curl, CURLINFO_CONTENT_LENGTH_UPLOAD).'<br />';
echo 'CURLINFO_CONTENT_TYPE: '.curl_getinfo($curl, CURLINFO_CONTENT_TYPE).'<br />';
echo 'CURLINFO_EFFECTIVE_URL: '.curl_getinfo($curl, CURLINFO_EFFECTIVE_URL).'<br />';
echo 'CURLINFO_FILETIME: '.curl_getinfo($curl, CURLINFO_FILETIME).'<br />';
echo 'CURLINFO_HEADER_SIZE: '.curl_getinfo($curl, CURLINFO_HEADER_SIZE).'<br />';
echo 'CURLINFO_HTTP_CODE: '.curl_getinfo($curl, CURLINFO_HTTP_CODE).'<br />';
echo 'CURLINFO_NAMELOOKUP_TIME: '.curl_getinfo($curl, CURLINFO_NAMELOOKUP_TIME).'<br />';
echo 'CURLINFO_PRETRANSFER_TIME: '.curl_getinfo($curl, CURLINFO_PRETRANSFER_TIME).'<br />';
echo 'CURLINFO_REDIRECT_COUNT: '.curl_getinfo($curl, CURLINFO_REDIRECT_COUNT).'<br />';
echo 'CURLINFO_REDIRECT_TIME: '.curl_getinfo($curl, CURLINFO_REDIRECT_TIME).'<br />';
echo 'CURLINFO_REQUEST_SIZE: '.curl_getinfo($curl, CURLINFO_REQUEST_SIZE).'<br />';
echo 'CURLINFO_SIZE_DOWNLOAD: '.curl_getinfo($curl, CURLINFO_SIZE_DOWNLOAD).'<br />';
echo 'CURLINFO_SIZE_UPLOAD: '.curl_getinfo($curl, CURLINFO_SIZE_UPLOAD).'<br />';
echo 'CURLINFO_SPEED_DOWNLOAD: '.curl_getinfo($curl, CURLINFO_SPEED_DOWNLOAD).'<br />';
echo 'CURLINFO_SPEED_UPLOAD: '.curl_getinfo($curl, CURLINFO_SPEED_UPLOAD).'<br />';
echo 'CURLINFO_SSL_VERIFYRESULT: '.curl_getinfo($curl, CURLINFO_SSL_VERIFYRESULT).'<br />';
echo 'CURLINFO_STARTTRANSFER_TIME: '.curl_getinfo($curl, CURLINFO_STARTTRANSFER_TIME).'<br />';
echo 'CURLINFO_TOTAL_TIME: '.curl_getinfo($curl, CURLINFO_TOTAL_TIME).'<br />';
?>
- resource curl_init(string url)
- Функция curl_init используется для создания дескриптора ресурса Curl. Необязательный аргумент url устанавливает параметр CURLOPT_URL.
- integer curl_multi_add_handle(resource multi, resource curl)
- Функция curl_milti_add_handle добавляет обычный ресурс Curl в мульти ресурсный стек и возвращает код состояния.
- curl_multi_close(resource multi)
- Функция curl_milti_close закрывает мультиресурс Curl и вызывает функцию curl_multi_cleanup.
- integer curl_multi_exec (resource multi)
- Функция curl_milti_exec читает и записывает данные на все сокеты мультиресурсного стека. Вызывает функцию curl_milti_perform.
- string curl_multigetcontent(resource multi)
- Функция curl_multi_getcontent возвращает содержимое из мультиресурса.
- array curl_multi_lnfo_read(resource multi)
- Функция curl_multi_lnfo_read возвращает массив, содержащий информацию о мультиресурсе.
- resource curl_milti_init()
- Функция curl_milti_init возвращает ресурс, указывающий на мульти интерфейс.
- integer curl_multi_remove_handle(resource multi, resource curl)
- Функция curl_multi_remove_handle удаляет обычный ресурс Curl из мульти ресурсного стека. Возвращает код состояния.
- curl_multi_select(resource multi, integer timeout)
- Функция multi_select выполняет выбор из библиотеки языка С по набору ресурсов Curl в мульти ресурсном стеке. Передается необязательный аргумент timeout.
- string curl_version()
- Функция curl_version предназначена для определения версии работающей библиотеки Curl.
- boolean curl_setopt(resource curl, string option, value setting)
- Функция curl_setopt позволяет сделать настройку соединения Curl до выполнения функции curl_exec. Необходимо передавать дескриптор ресурса Curl, созданного функцией curl_init. В таблице ниже, перечислены константы для этой функции
| Константа | Описание |
|---|---|
| CURLOPT_BINARYTRANSFER | Используется с параметром, CURLOPT_RETURNTRANSFER. Это гарантирует возвращение двоичного значения |
| CURLOPT_CAINFO | Указывает путь к файлу, содержащему один и более сертификатов, необходимых для проверки другого узла. Этот параметр действует только вместе с параметром CURLOPT_SSL_VERIFYPEER |
| CURLOPT_CAPATH | Указывает путь к файлу, содержащему один или более сертификатов, необходимых для проверки другого узла. Этот параметр действует только вместе с параметром CURLOPT_SSL_VERIFYPEER |
| CURLOPT_CLOSEPOLICY | Используется для установки политики закрытия соединения при его заполнении. Может иметь значение CURLCLOSEPOLICY_LEAST_RECENTLY_USED или CURLCLOSEPOLICY_OLDEST |
| CURLOPT_CONNECTTIMEOUT | Задает максимальное время ожидания соединения в секундах |
| CURLOPT_COOKIE | Используется для задания файлов cookie в запросе. Он задается в виде строки со знаком равенства между именем файла cookie и значением value. Имена файлов cookie разделяются точкой с запятой. Например, cookiel=valueA; cookiel=valueB задает два файла cookie: cookiel и cookie2 |
| CURLOPT_COOKIEFILE | Путь, по которому размещаются файлы cookie по запросам. Этот файл может соответствовать формату Netscape Navigator или обычному формату HTTP-заголовка |
| CURLOPT_COOKIEJAR | Задает путь к файлу, в котором сохраняются файлы cookie. Curl сохраняет любые файлы cookie, которые он получает во время запроса к этому файлу. Затем этот файл можно указывать в параметре CURLOPT_COOKIEFILE |
| CURLOPT_CRLF | При значении TRUE Curl преобразует символы новой строки, характерные для ОС Unix, в пары символов "возврат каретки перевод строки" |
| CURLOPT_CUSTOMREQUEST | Используется для отсылки альтернативной команды при HTTP-запросе. В нем указывается только команда, а не вся строка запроса |
| CURLOPT_DNS_CACHE_TIMEOUT | Параметр работы с кэшем поиска имен узлов. В нем задается время хранения имени в кэше (в секундах) |
| CURLOPT_DNS_USE_GLOBAL_CACHE | При значении TRUE Curl разделяет кэш поиска имен узлов. Этот параметр не является защищенным с точки зрения потоков |
| CURLOPT_EGDSOCKET | Задает путь к сокету Entropy Gathering Daemon. Curl использует его в качестве генератора случайных чисел, который используется для SSL |
| CURLOPT_FAILONERROR | При значении TRUE коды HTTP-ответов больше 300 не приводят к возвращению страниц, обычно возвращаемых сервером |
| CURLOPT_FILE | Предназначен для вывода сообщений в файл, а не в браузер |
| CURLOPT_FILETIME | При значении TRUE Curl делает попытку получить время модификации запрошенного файла |
| CURLOPT_FOLLOWLOCATION | При значении TRUE Curl просматривает заголовки переадресации, возвращаемые HTTP-серверами. Установите в TRUE, что бы Curl следовал редиректам. |
| CURLOPT_FORBID_REUSE | При значении TRUE Curl закрывает соединение после завершения обработки запроса |
| CURLOPT_FRESH_CONNECT | При значении TRUE Curl независимо от наличия соответствующего соединения в кэше создает новое соединение |
| CURLOPT_FTPAPPEND | При значении TRUE Curl при операции FTP выгрузки, вместо перезаписи выполняет добавление |
| CURLOPT_FTPLISTONLY | При значении TRUE Curl возвращает перечень файлов, хранящихся в FTP-каталоге |
| CURLOPT_FTPPORT | Задает настройки FTP-команды PORT, при этом запрашивается соединение с сервером. В этом параметре указываются IP-адрес, имя узла, имя сетевого интерфейса. Для использования адреса, используемого по умолчанию, указывается - |
| CURLOPT_FTP_USE_EPSV | По умолчанию, при FTP-передачах в пассивном режиме, Curl использует команду EPSV. Для того чтобы запретить использование этой команды, данный параметр должен иметь значение FALSE |
| CURLOPT_HEADER | При значении TRUE Curl включает в вывод заголовки |
| CURLOPT_HEADERFUNCTION | Задает имя функции, которую вызывает Curl для каждого вызванного HTTP-заголовка. Эта функция должна принимать два аргумента: ресурс Curl и строку, содержащую полный заголовок |
| CURLOPT_HTTPGET | При значении TRUE Curl в HTTP-передачах использует метод GET. Это может понадобиться только при повторном использовании ресурса Curl |
| CURLOPT_HTTPHEADER | Позволяет отправить HTTP-заголовки, прописанные вручную. Заголовки должны быть помещены в массив |
| CURLOPT_HTTPPROXYTUNNEL | При значении TRUE Curl передает все запросы, пользуясь туннелем на прокси-сервере |
| CURLOPT_HTTP_VERSION | Используется для того, чтобы вынудить Curl использовать соответствующую версию протокола HTTP. Значение CURL_HTTP_VERSION_NONE задается, если право выбора предоставляется Curl. Для того чтобы использовалась версия HTTP/1.0, необходимо задать значение CURL_HTTP_VERSION_1_0. Для того чтобы использовалась версия HTTP/1.1, необходимо задать значение CURL_HTTP_VERSION_l_l |
| CURLOPT_INFILE | Если в этом параметре указан открытый файловый поток, то Curl будет считывать туда ввод из файла |
| CURLOPT_INFILESIZE | Используется для определения размера выгружаемого файла |
| CURLOPT_INTERFACE | Задает имя используемого интерфейса. Можно задавать имя интерфейса, имя узла или IP-адрес |
| CURLOPT_KRB4LEVEL | Для FTP-передач с помощью этого параметра можно указать уровень безопасности Kerberos. Значением этого параметра могут быть такие строки: clear, safe, confidential и private. Установка значения FALSE отключит безопасность Kerberos |
| CURLOPT_LOW_SPEED_LIMIT | Используется для снижения ограничения скорости передачи, которая задается в байтах в секунду. Если скорость передачи упадет ниже предела, заданного параметром CURLOPT_LOW_SPEED_TIME, Curl прервет передачу |
| CURLOPT_LOW_SPEED_TIME | Предназначен для снижения ограничения скорости передачи и используется с параметром CURLOPT_LOW_SPEED_LIMIT |
| CURLOPT_MAXCONNECTS | Задает размер кэша соединения |
| CURLOPT_MAXREDIRS | Используется для задания максимального количества переадресаций |
| CURLOPT_MUTE | При значении TRUE PHP не генерирует вывод на браузер при выполнении функций Curl |
| CURLOPT_NETRC | При значении TRUE Curl при аутентификации пользователей просматривает путь ~/.netrc |
| CURLOPT_NOBODY | При значении TRUE Curl исключает из вывода основное тело HTTP-страницы |
| CURLOPT_NOPROGRESS | При значении FALSE Curl отображает индикатор работы. По умолчанию этот параметр имеет значение TRUE |
| CURLOPT_PASSWDFUNCTION | Используется для указания имени функции обработки запросов паролей. Эта функция должна принимать три аргумента: ресурс Curl, подсказку пароля, отправленную сервером, и ссылку, куда необходимо поместить пароль. Эта функция возвращает нуль в случае успешного завершения работы и значение, отличное от нуля, в случае возникновения ошибки. Для восстановления стандартной функциональности для этого параметра устанавливается значение FALSE |
| CURLOPT_PORT | Используется для задания номера порта, применяемого в запросах |
| CURLOPT_POST | При значении TRUE Curl делает HTTP-запрос POST с помощью кодировки application/x-www-form-urlencoded |
| CURLOPT_POSTFIELDS | Предназначен для передачи всех данных операции post. Поля форматируются строго в соответствии с порядком приема. Например, строка apple=l&ball=red&cat=45.56 будет соответствовать трем полям: apple, ball и cat |
| CURLOPT_POSTQUOTE | Передает массив FTP-команд, выполняемых после главного запроса |
| CURLOPT_PROXY | Устанавливается на прокси-сервере |
| CURLOPT_PROXYUSERPWD | Используется для установки имени пользователя и его пароля, необходимых для прокси-сервера. При этом используется формат username; password |
| CURLOPT_PUT | При значении TRUE Curl выполняет HTTP-запрос PUT. При этом необходимо задавать параметры CURLOPT INFILE и CURLOPT INFILESIZE |
| CURLOPT_QUOTE | Задает массив FTP-команд, выполняемых до главного запроса |
| CURLOPT_RANDOM_FILE | Задает путь к файлу, который будет читать Curl для задания начальных значений генератора случайных величин SSL |
| CURLOPT_RANGE | Используется для задания диапазона заголовка, отправленного HTTP-сервером. Передается строка, содержащая смещение начала и конца строки в байтах, разделенные тире. При указании нескольких диапазонов они разделяются запятыми, например 100-150,233-502. О диапазонах можно узнать подробнее в спецификации протокола HTTP 1.1 |
| CURLOPT_READFUNCTION | Задает имя функции передачи данных другой стороне соединения. Эта функция должна принимать два аргумента: ресурс Curl и строку ссылки. Копирует данные в строку ссылки и возвращает количество байт. Возвращение нулевого значения свидетельствует о достижении конца файла |
| CURLOPT_REFERER | Используется для задания значения поля Ref erer, передаваемого в HTTP-запросах |
| CURLOPT_RESUME_FROM | Предназначен для возобновления передачи. Смещение задается в байтах |
| CURLOPT_RETURNTRANSFER | Обычно Curl отправляет результаты команд непосредственно в браузер. Для получения результатов в виде возвращаемого значения утилиты curl_exec для этого параметра устанавливается значение TRUE |
| CURLOPT_SSLCERT | Задает путь к сертификату SSL в формате РЕМ (Privacy Enhanced Mail) |
| CURLOPT_SSLCERTPASSWD | Задает пароль, необходимый для чтения сертификата SSL, заданного параметром CURLOPT_SSLCERT |
| CURLOPT_SSLENGINE | Задает имя процессора SSL, который будет использоваться для частных ключей |
| CURLOPT_SSLENGINE_DEFAULT | Задает имя процессора SSL, который будет использоваться в большинстве случаев, исключая частные ключи |
| CURLOPT_SSLKEY | Задает путь к частному ключу. По умолчанию задается тип РЕМ, который может быть изменен параметром CURLOPT_SSLKEYTYPE |
| CURLOPT_SSLKEYPASSWD | Задает пароль, необходимый для использования с частным ключом, заданным параметром CURLOPT_SSLKEY |
| CURLOPT_SSLKEYTYPE | Задает тип частного ключа, заданного параметром CURLOPT_SSLKEY. Тип определяется одной из следующих строк: РЕМ, DER или ENG |
| CURLOPT_SSLVERSION | Предназначен для активизации второй или третьей версии SSL. Обычно Curl "угадывает" соответствующую версию протокола |
| CURLOPT_SSL_CIPHER_LIST | Используется для определения списка шифров, которые будут использоваться при SSL-соединениях. Названия шифров разделяются точкой с запятой. Этот список задается в процессе компиляции OpenSSL |
| CURLOPT_SSL_VERIFYHOST | Для этого параметра устанавливается значение 1, если Curl проверяет имя сертификата SSL, или значение 2, для того чтобы было достаточно простого совпадения с именем узла |
| CURLOPT_SSL_VERIFYPEER | При значении TRUE Curl делает попытку проверить идентичность соединения с помощью сертификатов, заданных параметром CURLOPT_CAINFO |
| CURLOPT_STDERR | Задает открытый файловый поток, куда будут перенаправлены сообщения об ошибках |
| CURLOPT_TIMECONDITION | Предназначен для активизации условий передачи на основании анализа времени последней модификации удаленного файла. Для задания временного значения, которое будет использоваться для проверки этого условия, используется параметр CURLOPT_TIMEVALUE. Для соблюдения требования модификации файла с определенного момента времени используется параметр TIMECOND_IFMODSINCE. Для соблюдения требования отсутствия изменений файла с определенного момента времени используется параметр TIMECOND_ISUNMODSINCE |
| CURLOPT_TIMEOUT | Задает максимальное время в секундах, на протяжении которого может выполняться Curl-операция |
| CURLOPT_TIMEVALUE | Устанавливает время в стандартном формате временной метки Unix, который используется параметром CURLOPT_TIMECONDITION |
| CURLOPT_TRANSFERTEXT | При значении TRUE Curl осуществляет FTP-передачи в формате ASCII и в тексте в формате LDAP вместо HTML |
| CURLOPT_UPLOAD | При значении TRUE Curl выполняет НТТР-выгрузку. Необходимо установить CURLOPT_INFILE и CURLOPT_INFILESIZE |
| CURLOPT_URL | Задает исполняемый URL. Этот параметр можно установить и с помощью утилиты curl_init |
| CURLOPT_USERAGENT | Устанавливает значение поля User-agent, переданное в HTTP-запросах |
| CURLOPT_USERPWD | Задает имя пользователя и его пароль, необходимый для соединения. При этом используется формат username:password |
| CURLOPT_VERBOSE | При значении TRUE Curl выводит сообщение о состоянии |
| CURLOPT_WRITEFUNCTION | Задает имя функции, которая будет получать данные при указанном соединении. Эта функция принимает два аргумента: ресурс Curl и строку данных. Она возвращает количество обработанных байтов данных. Если возвращаемое значение не соответствует количеству переданных данных, Curl сообщает об ошибке |
| CURLOPT_WRITEHEADER | Задает открытый файловый поток, который будет получать заголовки. Значением option задается ресурс, возвращаемый функцией fopen |
В будущих статьях я планирую освещать рецепты типовых задач, решаемых при помощи Curl. Подробнее о проекте Curl можно узнать по адресу
Здесь
Качественная аренда выделенного сервера недорого именно здесь
www.ipserver.su
Добавить комментарий
Информация копипастерам
Внимание! Копирование контента с сайта, возможно только с разрешения администратора. Т.е. Меня! Я скорее всего разрешу Вам это сделать, в обмен на живую ссылку, на статью оригинал.
PHP: Curl
