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
Добавить комментарий
Информация копипастерам
Внимание! Копирование контента с сайта, возможно только с разрешения администратора. Т.е. Меня! Я скорее всего разрешу Вам это сделать, в обмен на живую ссылку, на статью оригинал.