我是PHP的cURL新手.我对卷曲选项的使用有疑问.
考虑两个脚本文件:test1.php和test2.php都存在于根www中.我正在使用Ubuntu 12.04 LTS.PHP的libcurl版本是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);
?>
Run Code Online (Sandbox Code Playgroud)
test2.php的内容
<?php
var_dump($_POST);
?>
Run Code Online (Sandbox Code Playgroud)
当我通过浏览器执行test1.php时,我可以看到发布的结果.现在,如果我删除包含CURLOPT_POST的 curl选项,该示例仍然有效.即使我将CURLOPT_POST设置为false,也会执行post并显示结果.那么,CURLOPT_POST根本不需要吗?它看起来选项CURLOPT_POSTFIELDS负责通过POST发送数据而不使用CURLOPT_POST选项.当我$_SERVER在test2.php中打印时,请求方法始终设置为POST(有或没有选项CURLOPT_POST).
有谁可以让我知道CURLOPT_POST选项的确切用法?是否需要通过发送数据POST?