【发布时间】:2020-10-10 05:06:50
【问题描述】:
我在尝试使用 PHP 向 API 发布请求时遇到问题。我无法控制 API 服务器,必须以他们请求的格式发送数据。他们唯一真正的文档是 CLI 的以下示例:
curl -X POST 'http://username:password@domain.tld/foo/bar?param1=false&param2=0' -d 'Hello World!'
尝试将其放入 PHP 中,我认为我已经复制了大部分内容,代码如下:
$ch = curl_init();
$username="username";
$password="password";
$data="Hello World!";
$url = "http://" . $username . ":" . $password . "@domain.tld";
$postvars = array( "param1"=>"false", "param2"=>0 );
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postvars);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
$response = curl_exec($ch);
curl_close ($ch);
但我无法确定数据部分的去向?如何发送请求正文(-d 之后的部分?
我在 PHP cURL 文档中看不到任何指示应如何形成请求正文的内容。
【问题讨论】: