我刚开始卷曲,我在php编程,我学会了使用这样的卷曲代码:
<?php
$content = 'PHP cURL';
$curl = curl_init('http://www.example.com/submit/get.php');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'var='.$content);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
$result = curl_exec($curl);
curl_close($curl);
?>
我想使用一个需要curl命令的API,但在api文档中有一些像这样的卷曲代码:
curl -X POST https://example.com/api/mail.send.json -d api_user=headortail -d api_key=XXXXXXXX
我很困惑,我不知道它是什么类型的卷曲。我可以在php中使用吗?
答案 0 :(得分:1)
在您的示例中,您要使用的API包含使用cURL命令行工具的示例。
cURL有很多选项来配置请求,同样,你必须使用PHP配置请求。
在我们提供的示例中:
curl -X POST https://example.com/api/mail.send.json -d api_user=headortail -d api_key=XXXXXXXX
PHP中的等效代码是:
<?php
$params = array(
'api_user' => 'headortail',
'api_key' => 'XXXXXXXX'
);
$curl = curl_init('https://example.com/api/mail.send.json');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); // TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
$result = curl_exec($curl);
curl_close($curl);
?>
您可以在cURL man page中找到的cURL工具选项。 然后,使用PHP中的curl_setopt函数,您应该在脚本中配置等效选项:
在命令行中-d参数设置HTTP POST数据,然后,在PHP中,您需要使用 CURLOPT_POSTFIELDS 选项(您将在curl_setopt文档中找到它) curl_setopt 功能:
curl_setopt($curlResource, CURLOPT_POSTFIELDS, <array | string>);
答案 1 :(得分:-1)
cURL
是用于发出HTTP请求的C库。
您的第一个示例使用PHP绑定您是否可以从PHP访问它。
您的第二个示例使用命令行应用程序。
man curl
将为您提供解释命令行开关的文档。您可以使用它在第一个示例中使用的绑定将命令行版本转换为PHP命令。