Я новичок в cURL в PHP. У меня вопрос относительно использования параметров завитка.
Рассмотрим два файла script: test1.php и test2.php, которые присутствуют в корневом www. Я использую Ubuntu 12.04 LTS. Версия libcurl для PHP 7.22.0.
Содержание test1.php
<?php
$ch = curl_init();
$post_data = array(
'firstname' => 'John',
'lastname' => 'Doe'
);
curl_setopt($ch, CURLOPT_URL, 'localhost/test2.php');
curl_setopt($ch, CURLOPT_POST, TRUE); //is it optional?
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_exec($ch);
curl_close($ch);
?>
Содержимое test2.php
<?php
var_dump($_POST);
?>
Когда я выполняю test1.php через браузер, я вижу результаты, опубликованные. Теперь, если я удаляю параметр curl, содержащий CURLOPT_POST, пример все же работает. Даже если для параметра CURLOPT_POST установлено значение false, сообщение будет опубликовано и результат будет отображаться. Итак, что CURLOPT_POST не требуется вообще? Похоже, что опция CURLOPT_POSTFIELDS
позаботится о передаче данных через POST без использования опции CURLOPT_POST
. Когда я печатаю $_SERVER
в test2.php, метод запроса всегда устанавливается на POST
(с опцией CURLOPT_POST
или без нее).
Может ли кто-нибудь, пожалуйста, сообщить мне точное использование опции CURLOPT_POST
? Требуется ли для отправки данных через POST
?