Php curl cookies curlopt cookies

curl_setopt

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

Замечание:

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

Замечание:

Эта опция устарела, так как никогда не была реализована в cURL и не работала.

Используемые HTTP методы авторизации. Используемые параметры: CURLAUTH_BASIC , CURLAUTH_DIGEST , CURLAUTH_GSSNEGOTIATE , CURLAUTH_NTLM , CURLAUTH_ANY , and 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

Замечание:

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

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

Замечание:

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

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

Замечание:

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

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

Параметр Устанавливаемое значение value Замечания
CURLOPT_HTTP200ALIASES Массив HTTP 200 ответов, которые будут трактоваться корректными ответами, а не ошибочными. Добавлен в версии cURL 7.10.3.
CURLOPT_HTTPHEADER Массив устанавливаемых HTTP-заголовков, в формате array(‘Content-type: text/plain’, ‘Content-length: 100’)
CURLOPT_POSTQUOTE Массив FTP-команд, выполняемых на сервере, после выполнения FTP-запроса.
CURLOPT_QUOTE Массив FTP-команд, выполняемых на сервере, перед выполнением FTP-запроса.

Для следующих значений параметра 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 в случае возникновения ошибки.

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

Версия Описание
5.6.0 Опция CURL_SAFE_UPLOAD теперь имеет значение по умолчанию равное TRUE .
5.6.0 Удалена опция CURLOPT_CLOSEPOLICY и связанные с ней значения.
5.5.0 Ресурс cURL добавлен первым аргументом в callback-функцию CURLOPT_PROGRESSFUNCTION .
5.5.0 Добавлена опция CURLOPT_SHARE .
5.3.0 Добавлена опция CURLOPT_PROGRESSFUNCTION .
5.2.10 Добавлены параметры CURLOPT_PROTOCOLS и CURLOPT_REDIR_PROTOCOLS .
5.1.0 Добавлены параметры CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH и CURLOPT_TIMECONDITION .
5.0.0 Добавлены параметры CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE и CURLOPT_HTTP200ALIASES .

Примеры

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

// создание нового ресурса 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 );
?>

Пример #2 Закачка файла

$data = array( ‘name’ => ‘Foo’ , ‘file’ => ‘@/home/user/test.png’ );

curl_setopt ( $ch , CURLOPT_URL , ‘http://localhost/upload.php’ );
curl_setopt ( $ch , CURLOPT_POST , 1 );
curl_setopt ( $ch , CURLOPT_POSTFIELDS , $data );

Результат выполнения данного примера:

Array ( [name] => Foo ) Array ( [file] => Array ( [name] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [size] => 279 ) )

Примечания

Замечание:

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

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

Источник

PHP CURL With Cookies (Simple Examples)

Welcome to a tutorial on how to do PHP CURL calls with cookies. Need to do a server-to-server call that involves cookies? Well yes, CURL is fully capable of handling that with a few small tweaks.

To do a PHP CURL call with cookies, we use CURLOPT_COOKIEJAR to specify where to save the cookie after the call ends, and CURLOPT_COOKIEFILE to specify which cookie file to send to the remote server.

  • $cookie = «COOKIE.TXT»;
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_URL, «HTTP://SITE.COM»);
  • curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
  • curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
  • curl_exec($ch);
  • curl_close($ch);

That covers the basics, but read on for more examples!

TLDR – QUICK SLIDES

PHP CURL With Cookies

TABLE OF CONTENTS

PHP CURL COOKIES

All right, let us now get into the examples of handling cookies with PHP CURL.

1A) LOCAL SERVER CURL CALL

This is just a “slightly improved” version of the introduction snippet to output the exchange results between the local and remote servers.

1B) DUMMY REMOTE SERVER

On the dummy remote server – We simply output the received cookie and send a header to set the Test cookie to the current timestamp.

1C) WHAT WILL HAPPEN

Оцените статью