CURLOPT_POST vs. CURLOPT_POSTFIELDS: L'option CURLOPT_POST est-elle requise?

Je suis nouveau sur cURL en PHP. J'ai une question concernant l'utilisation de curl options.

Tenir compte de deux fichiers de script: test1.php et test2.php tous deux présents dans la racine de www. Je suis en utilisant Ubuntu 12.04 LTS. La libcurl version de PHP est 7.22.0.

Contenu de 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);
?>

Contenu de test2.php

<?php 
    var_dump($_POST);
?>

Quand j'execute test1.php via un navigateur, je peux voir les résultats affichés. Maintenant, si je retire curl option contenant CURLOPT_POSTl'exemple fonctionne toujours. Même si j'ai mis CURLOPT_POST à false, ce post est effectué et le résultat est affiché. Est-ce que ça CURLOPT_POST pas nécessaire à tous? Il ressemble option CURLOPT_POSTFIELDS prend soin de l'envoi de données via POST sans utiliser de CURLOPT_POST option. Quand j'ai l'impression $_SERVER dans test2.php, la méthode de requête est toujours POST (avec ou sans option CURLOPT_POST).

Quelqu'un pourrait s'il vous plaît laissez-moi savoir l'utilisation exacte de CURLOPT_POST option? Est-il nécessaire requis pour l'envoi de données via POST?

source d'informationauteur Sanjay Maurya