如何在php中执行curl-X POST

如何在php中执行curl-X POST,php,curl,https,mapbox,Php,Curl,Https,Mapbox,我正在使用Mapbox创建令牌访问。下面的代码返回一个令牌列表,这对我来说很好 curl "https://api.mapbox.com/tokens/v2/{username}?access_token=your-access-token" 这是我的php代码 $url = "https://api.mapbox.com/tokens/v2/{username}?access_token=your-access-token" $curl = curl_init(); curl_setopt

我正在使用Mapbox创建令牌访问。下面的代码返回一个令牌列表,这对我来说很好

 curl "https://api.mapbox.com/tokens/v2/{username}?access_token=your-access-token"
这是我的php代码

$url = "https://api.mapbox.com/tokens/v2/{username}?access_token=your-access-token"
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($curl); 
我能够用上面的代码获得现有令牌的列表。现在我需要执行以下操作来创建一个新的访问代码

 curl -X POST "https://api.mapbox.com/tokens/v2/{username}?access_token=your-access-token"
这与访问令牌的列表完全相同,只是它有一个-X POST。我假设我需要用curl函数做一篇文章。因此,我添加以下内容

$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, true);   // added this line
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($curl); 
但是我得到了下面的错误

400错误 这项要求未能得到满足

正确的方法是什么?多谢各位

没关系,我知道了。我在我的代码中添加了以下内容,它可以正常工作。
curl_setopt($curl,CURLOPT_POSTFIELDS,”)

您的第一个代码忘记设置CURLOPT_POST,而您的第二个代码有此功能,因此出现了其他问题。运行curl和php脚本,这两个请求之间的区别是什么?除此之外,您会发现curl有一个User-Agent头,而php-curl没有。还有其他区别吗?