CURLOPT_POST vs. CURLOPT_POSTFIELDS: Ist die Option CURLOPT_POST erforderlich?

Ich bin neu in cURL in PHP. Ich habe eine Frage zur Verwendung der Lockenoptionen.

Betrachten Sie zwei Skriptdateien: test1.php und test2.php, die beide im Root-WWW vorhanden sind. Ich benutzeUbuntu 12.04 LTS. Die libcurl-Version für PHP ist 7.22.0.

Inhalt von 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);
?>

Inhalt von test2.php

<?php 
    var_dump($_POST);
?>

Wenn ich test1.php über den Browser ausführe, werden die Ergebnisse angezeigt. Nun, wenn ich die Curl-Option entferne, die @ enthä CURLOPT_POST, das Beispiel funktioniert immer noch. Auch wenn ich @ set CURLOPT_POST bis false, der Post wird ausgeführt und das Ergebnis angezeigt. Also, ist das CURLOPT_POST gar nicht benötigt? Es sieht OptionCURLOPT_POSTFIELDS kümmert sich um das Versenden von Daten überPOS ohne Verwendung vonCURLOPT_POST Möglichkeit. Wenn ich @ druc$_SERVER in test2.php ist die Anforderungsmethode immer auf @ gesetPOST (mit oder ohne OptionCURLOPT_POST).

Könnte mir jemand bitte die genaue Verwendung von @ mitteileCURLOPT_POST Möglichkeit? Wird es benötigt, um Daten über @ zu sendePOST?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage