Curl php время загрузки

curl_setopt

true для отмены индикатора прогресса при передачах cURL.

Замечание:

PHP автоматически устанавливает этот параметр в true , меняйте его только для отладочных целей.

Используемые HTTP-методы авторизации. Используемые параметры: CURLAUTH_BASIC , CURLAUTH_DIGEST , CURLAUTH_GSSNEGOTIATE , CURLAUTH_NTLM , CURLAUTH_ANY и CURLAUTH_ANYSAFE .

Можно использовать побитовый оператор | (или) для комбинации нескольких методов вместе. В этом случае cURL опросит сервер на предмет поддерживаемых методов авторизации и выберет лучший из них.

CURLAUTH_ANY — это псевдоним CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM .

CURLAUTH_ANYSAFE — это псевдоним CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM .

Битовая маска из значений CURLPROTO_* . Данная маска ограничивает используемые libcurl протоколы. Это позволяет иметь libcurl, работающую с большим количеством протоколов, и ограничивать работу определённых передач только для некоторого их набора. По умолчанию libcurl использует все поддерживаемые протоколы. Смотрите также параметр CURLOPT_REDIR_PROTOCOLS .

Корректные значения протоколов: CURLPROTO_HTTP , CURLPROTO_HTTPS , CURLPROTO_FTP , CURLPROTO_FTPS , CURLPROTO_SCP , CURLPROTO_SFTP , CURLPROTO_TELNET , CURLPROTO_LDAP , CURLPROTO_LDAPS , CURLPROTO_DICT , CURLPROTO_FILE , CURLPROTO_TFTP , CURLPROTO_ALL

Метод аутентификации SOCKS5, который нужно использовать. Варианты: CURLAUTH_BASIC , CURLAUTH_GSSAPI , CURLAUTH_NONE .

Побитовый оператор | (или) можно использовать для объединения нескольких методов. Если это будет сделано, cURL будет опрашивать сервер, чтобы выяснить, какие методы он поддерживает, и выбрать наилучший.

CURLAUTH_BASIC разрешает аутентификацию по constant пользователя/пароля.

CURLAUTH_GSSAPI разрешает аутентификацию GSS-API.

CURLAUTH_NONE не разрешает аутентификацию.

По умолчанию CURLAUTH_BASIC|CURLAUTH_GSSAPI . Установите действительное имя пользователя и пароль с помощью параметра CURLOPT_PROXYUSERPWD .

Замечание:

Рекомендуется не устанавливать эту опцию и оставить значение по умолчанию. Установка в 2 или 3 опасно и допускает применение известных уязвимостей в SSLv2 и SSLv3.

Замечание:

Лучше всего не устанавливать это и разрешать использовать значение по умолчанию CURL_SSLVERSION_DEFAULT , которое попытается выяснить версию протокола удалённого SSL.

Собственный метод запроса, используемый вместо «GET» или «HEAD» при выполнении HTTP-запроса. Это полезно при запросах «DELETE» или других, более редких HTTP-запросах. Корректными значениями будут такие как «GET» , «POST» , «CONNECT» и так далее; т.е. не вводите здесь всю строку с HTTP-запросом. Например, указание «GET /index.html HTTP/1.0\r\n\r\n» будет неправильным.

Замечание:

Не используйте эту возможность пока не убедитесь, что сервер поддерживает данный тип запроса.

Протокол по умолчанию, если он отсутствует в схеме URL.

Устанавливает имя сетевого интерфейса, к которому привязан DNS. Это должно быть имя интерфейса, а не адрес.

Установить локальный IPv4-адрес, по которому доступне DNS. Адрес должен быть представлен в виде строки, содержащий одно число.

Установить локальный IPv6-адрес, по которому доступне DNS. Адрес должен быть представлен в виде строки, содержащий одно число.

Замечание:

Аутентификация Secure Remote Password (SRP) для TLS обеспечивает взаимную аутентификацию, если обе стороны имеют общий секрет. Чтобы использовать TLS-SRP, вы также должны установить параметры CURLOPT_PROXY_TLSAUTH_USERNAME и CURLOPT_PROXY_TLSAUTH_PASSWORD .

Тайный пароль, необходимый для использования закрытого ключа SSL, указанного параметром CURLOPT_SSLKEY .

Замечание:

Так как этот параметр содержит ценный пароль, помните, что данный PHP-скрипт нужно хранить в безопасном месте.

Для следующих значений параметра option , параметр value должен быть массивом:

Параметр Устанавливаемое значение value Замечания
CURLOPT_CONNECT_TO Соединяться с указанный хостом по указанному порту, игнорируя URL. Принимает массив строк формата HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT . Добавлено в cURL 7.49.0. Доступно с PHP 7.0.7.
CURLOPT_HTTP200ALIASES Массив HTTP 200 ответов, которые будут трактоваться корректными ответами, а не ошибочными. Добавлен в cURL 7.10.3.
CURLOPT_HTTPHEADER Массив устанавливаемых HTTP-заголовков, в формате array(‘Content-type: text/plain’, ‘Content-length: 100’)
CURLOPT_POSTQUOTE Массив FTP-команд, выполняемых на сервере, после выполнения FTP-запроса.
CURLOPT_PROXYHEADER Массив пользовательских HTTP-заголовков для отправки на прокси Добавлено в cURL 7.37.0. Доступно с PHP 7.0.7.
CURLOPT_QUOTE Массив FTP-команд, выполняемых на сервере, перед выполнением FTP-запроса.
CURLOPT_RESOLVE Предоставляет адрес для определённой пары хоста и порта. Массив, содержащий строки состоящие из имени хоста, порта и IP-адреса, разделённых двоеточием. Пример: array(«example.com:80:127.0.0.1») Добавлено в cURL 7.21.3.

Для следующих значений параметра option , параметр value должен быть потоковым дескриптором (возвращаемым, например, функцией fopen() ):

Параметр Устанавливаемое значение value
CURLOPT_FILE Файл, в который будет записан результат передачи. По умолчанию используется поток вывода STDOUT (окно браузера).
CURLOPT_INFILE Файл, из которого должно идти чтение данных, при загрузке на сервер.
CURLOPT_STDERR Альтернативный файл для вывода ошибок, используемый вместо потока ошибок STDERR .
CURLOPT_WRITEHEADER Файл, в который будут записаны заголовки текущей операции.

Callback-функция принимает пять параметров. Первый является декскриптором cURL, второй — общим количеством байт, которое ожидается загрузить с сервера, третий — количество уже загруженных байт, четвёртый — общее количество байт, которое ожидается отправить на сервер, и пятый — количество уже отправленных байт.

Замечание:

Callback-функция вызывается только, если опция CURLOPT_NOPROGRESS установлена в значение false .

Можно вернуть ненулевое значение, чтобы отменить передачу. В этом случае будет выдана ошибка CURLE_ABORTED_BY_CALLBACK .

Другие значения:

Параметр Устанавливаемое значение value
CURLOPT_SHARE Результат выполнения функции curl_share_init() . Позволяет обработчику cURL использовать данные из общего обработчика.

Возвращаемые значения

Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.0.0 handle теперь ожидает экземпляр CurlHandle ; раньше, ожидался ресурс ( resource ).
7.3.15, 7.4.3 Добавлено CURLOPT_HTTP09_ALLOWED .
7.3.0 Введены CURLOPT_ABSTRACT_UNIX_SOCKET , CURLOPT_KEEP_SENDING_ON_ERROR , CURLOPT_PRE_PROXY , CURLOPT_PROXY_CAINFO , CURLOPT_PROXY_CAPATH , CURLOPT_PROXY_CRLFILE , CURLOPT_PROXY_KEYPASSWD , CURLOPT_PROXY_PINNEDPUBLICKEY , CURLOPT_PROXY_SSLCERT , CURLOPT_PROXY_SSLCERTTYPE , CURLOPT_PROXY_SSL_CIPHER_LIST , CURLOPT_PROXY_SSLKEY , CURLOPT_PROXY_SSLKEYTYPE , CURLOPT_PROXY_SSL_OPTIONS , CURLOPT_PROXY_SSL_VERIFYHOST , CURLOPT_PROXY_SSL_VERIFYPEER , CURLOPT_PROXY_SSLVERSION , CURLOPT_PROXY_TLSAUTH_PASSWORD , CURLOPT_PROXY_TLSAUTH_TYPE , CURLOPT_PROXY_TLSAUTH_USERNAME , CURLOPT_SOCKS5_AUTH , CURLOPT_SUPPRESS_CONNECT_HEADERS , CURLOPT_DISALLOW_USERNAME_IN_URL , CURLOPT_DNS_SHUFFLE_ADDRESSES , CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS , CURLOPT_HAPROXYPROTOCOL , CURLOPT_PROXY_TLS13_CIPHERS , CURLOPT_SSH_COMPRESSION , CURLOPT_TIMEVALUE_LARGE и CURLOPT_TLS13_CIPHERS .
7.0.7 Добавлены CURL_HTTP_VERSION_2 , CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE , CURL_HTTP_VERSION_2TLS , CURL_REDIR_POST_301 , CURL_REDIR_POST_302 , CURL_REDIR_POST_303 , CURL_REDIR_POST_ALL , CURL_VERSION_KERBEROS5 , CURL_VERSION_PSL , CURL_VERSION_UNIX_SOCKETS , CURLAUTH_NEGOTIATE , CURLAUTH_NTLM_WB , CURLFTP_CREATE_DIR , CURLFTP_CREATE_DIR_NONE , CURLFTP_CREATE_DIR_RETRY , CURLHEADER_SEPARATE , CURLHEADER_UNIFIED , CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE , CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE , CURLMOPT_MAX_HOST_CONNECTIONS , CURLMOPT_MAX_PIPELINE_LENGTH , CURLMOPT_MAX_TOTAL_CONNECTIONS , CURLOPT_CONNECT_TO , CURLOPT_DEFAULT_PROTOCOL , CURLOPT_DNS_INTERFACE , CURLOPT_DNS_LOCAL_IP4 , CURLOPT_DNS_LOCAL_IP6 , CURLOPT_EXPECT_100_TIMEOUT_MS , CURLOPT_HEADEROPT , CURLOPT_LOGIN_OPTIONS , CURLOPT_PATH_AS_IS , CURLOPT_PINNEDPUBLICKEY , CURLOPT_PIPEWAIT , CURLOPT_PROXY_SERVICE_NAME , CURLOPT_PROXYHEADER , CURLOPT_SASL_IR , CURLOPT_SERVICE_NAME , CURLOPT_SSL_ENABLE_ALPN , CURLOPT_SSL_ENABLE_NPN , CURLOPT_SSL_FALSESTART , CURLOPT_SSL_VERIFYSTATUS , CURLOPT_STREAM_WEIGHT , CURLOPT_TCP_FASTOPEN , CURLOPT_TFTP_NO_OPTIONS , CURLOPT_UNIX_SOCKET_PATH , CURLOPT_XOAUTH2_BEARER , CURLPROTO_SMB , CURLPROTO_SMBS , CURLPROXY_HTTP_1_0 , CURLSSH_AUTH_AGENT и CURLSSLOPT_NO_REVOKE .

Примеры

Пример #1 Инициализация сеанса CURL и загрузка веб-страницы

// создание нового ресурса cURL
$ch = curl_init ();

// установка URL и других необходимых параметров
curl_setopt ( $ch , CURLOPT_URL , «http://www.example.com/» );
curl_setopt ( $ch , CURLOPT_HEADER , false );

// загрузка страницы и выдача её браузеру
curl_exec ( $ch );

// завершение сеанса и освобождение ресурсов
curl_close ( $ch );
?>

Примечания

Замечание:

Передача массива в CURLOPT_POSTFIELDS закодирует данные в виде multipart/form-data, тогда как передача URL-кодированной строки закодирует данные в виде application/x-www-form-urlencoded.

Смотрите также

Источник

curl_getinfo

Если задана option , возвращает ее значение. В противном случае возвращает ассоциативный массив со следующими элементами (которые соответствуют option ) или false в случае ошибки:

  • «url»
  • «content_type»
  • «http_code»
  • «header_size»
  • «request_size»
  • «filetime»
  • «ssl_verify_result»
  • «redirect_count»
  • «total_time»
  • «namelookup_time»
  • «connect_time»
  • «pretransfer_time»
  • «size_upload»
  • «size_download»
  • «speed_download»
  • «speed_upload»
  • «download_content_length»
  • «upload_content_length»
  • «starttransfer_time»
  • «redirect_time»
  • «certinfo»
  • «primary_ip»
  • «primary_port»
  • «local_ip»
  • «local_port»
  • «redirect_url»
  • «request_header» (устанавливается, только если CURLINFO_HEADER_OUT установлен предыдущим вызовом curl_setopt () )

Changelog

Version Description
8.0.0 handle теперь ожидает экземпляр CurlHandle ; ранее ресурс ожидался.
8.0.0 option теперь обнуляется; ранее значение по умолчанию было 0 .
7.3.0 Введенный CURLINFO_CONTENT_LENGTH_DOWNLOAD_T , CURLINFO_CONTENT_LENGTH_UPLOAD_T , CURLINFO_HTTP_VERSION , CURLINFO_PROTOCOL , CURLINFO_PROXY_SSL_VERIFYRESULT , CURLINFO_SCHEME , CURLINFO_SIZE_DOWNLOAD_T , CURLINFO_SIZE_UPLOAD_T , CURLINFO_SPEED_DOWNLOAD_T , CURLINFO_SPEED_UPLOAD_T , CURLINFO_APPCONNECT_TIME_T , CURLINFO_CONNECT_TIME_T , CURLINFO_FILETIME_T , CURLINFO_NAMELOOKUP_TIME_T , CURLINFO_PRETRANSFER_TIME_T , CURLINFO_REDIRECT_TIME_T , CURLINFO_STARTTRANSFER_TIME_T , CURLINFO_TOTAL_TIME_T .

Examples

Пример # 1 curl_getinfo () Пример

 // Create a cURL handle $ch = curl_init('http://www.example.com/'); // Execute curl_exec($ch); // Check if any error occurred if (!curl_errno($ch)) < $info = curl_getinfo($ch); echo 'Took ', $info['total_time'], ' seconds to send a request to ', $info['url'], "\n"; > // Close handle curl_close($ch); ?>

Пример # 2 Пример использования curl_getinfo () с параметром option

 // Create a cURL handle $ch = curl_init('http://www.example.com/'); // Execute curl_exec($ch); // Check HTTP status code if (!curl_errno($ch)) < switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) < case 200: # OK break; default: echo 'Unexpected HTTP code: ', $http_code, "\n"; > > // Close handle curl_close($ch); ?>

Notes

Note:

Информация,собранная этой функцией,сохраняется при повторном использовании рукоятки.Это означает,что если только внутренняя статистика не переопределена этой функцией,возвращается предыдущая информация.

PHP 8.2

(PHP 5 5.5.0,7,8)curl_file_create CURLFile object Эта функция является псевдонимом:CURLFile::__construct()

(PHP 4 4.0.2,5,7,8)curl_init Инициализация сессии Инициализирует новую сессию и возвращает хэндл cURL для использования с curl_setopt(),curl_exec(),curl_close().

(PHP 5,7,8)curl_multi_add_handle normal to Добавляет хэндл к multi multi_handle Хэндл cURL multi,возвращаемый curl_multi_init().

Источник

Читайте также:  Nginx локальный php сервер
Оцените статью