gpt4 book ai didi

php - CURLOPT_POST 与 CURLOPT_POSTFIELDS : Is CURLOPT_POST option required?

转载 作者:IT王子 更新时间:2023-10-29 00:02:55 24 4
gpt4 key购买 nike

我是 PHP 中 cURL 的新手。我对 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);
?>

test2.php 的内容

<?php 
var_dump($_POST);
?>

当我通过浏览器执行 test1.php 时,我可以看到发布的结果。现在,如果我删除包含 CURLOPT_POST 的 curl 选项,该示例仍然有效。即使我将 CURLOPT_POST 设置为 false,也会执行发布并显示结果。那么,是不是根本不需要CURLOPT_POST?看起来选项 CURLOPT_POSTFIELDS 负责通过 POST 发送数据,而不使用 CURLOPT_POST 选项。当我在 test2.php 中打印 $_SERVER 时,请求方法始终设置为 POST(有或没有选项 CURLOPT_POST)。

谁能告诉我 CURLOPT_POST 选项的确切用法?是否需要通过POST发送数据?

最佳答案

你是对的。 CURLOPT_POSTFIELDS 表示 CURLOPT_POST。在使用 CURLOPT_POSTFIELDS 时,您不需要使用 CURLOPT_POST。在这种情况下,请求方法将始终设置为 POST。

请注意,只要您希望它是一个POST 请求,这就是您的情况。

如果你不想成为一个POST请求但设置了CURLOPT_POSTFIELDS,请看这个相关问答:

关于php - CURLOPT_POST 与 CURLOPT_POSTFIELDS : Is CURLOPT_POST option required?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26728740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com