CURLOPT_POST vs. CURLOPT_POSTFIELDS: É necessária a opção CURLOPT_POST?
eu sou novoondulação em PHP. Tenho uma pergunta sobre o uso das opções de ondulação.
Considere dois arquivos de script: test1.php e test2.php, ambos presentes na raiz www. estou a usarUbuntu 12.04 LTS. A versão libcurl para PHP é7.22.0.
Conteúdo do 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);
?>
Conteúdo do test2.php
<?php
var_dump($_POST);
?>
Quando executo o test1.php via navegador, posso ver os resultados publicados. Agora, se eu remover a opção de ondulação que contémCURLOPT_POST, o exemplo ainda funciona. Mesmo se eu definirCURLOPT_POST para false, a postagem é executada e o resultado é exibido. Então é issoCURLOPT_POST não é necessário? Parece opçãoCURLOPT_POSTFIELDS
cuida do envio de dados viaPOSTAR sem uso deCURLOPT_POST
opção. Quando imprimo$_SERVER
no test2.php, o método request é sempre definido comoPOST
(com ou sem opçãoCURLOPT_POST
)
Alguém poderia me informar o uso exato deCURLOPT_POST
opção? É necessário o envio de dados por meio dePOST
?