小编San*_*rya的帖子

CURLOPT_POST与CURLOPT_POSTFIELDS:是否需要CURLOPT_POST选项?

我是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

php curl libcurl

20
推荐指数
1
解决办法
3万
查看次数

标签 统计

curl ×1

libcurl ×1

php ×1