将命令cURL转换为PHP-传递POSTFIELD数据卡住了

时间:2019-09-18 22:32:30

标签: php curl

尝试复制以下cURL:

curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'Authorization: Bearer XXXXXXXXXX-XXXXXXXXXXX' 'https://XXXXXXXXX.XXX.com/api/v3/assets/76c860cd184ae4adfa105d46135c9b27.json' -F 'name=fileupdate99.pdf' -F 'description=curlviaphp'

该调用的目的是在此特定端点更新两个字段(名称和描述)。

我使用https://incarnate.github.io/curl-to-php/来获得大部分转化。但是,我似乎停留在传递数据上。 据我所知,这似乎是预期的-F标志(也用于上传文件),并且我无法与-d交换(我尝试在命令行中运行调用,并且-d不被接受)

<?php

$subdomain = "XXXXXXXX";
$name = "fileupdate4.pdf";
$description = "curlviaphp";
$auth = "XXXXXXXXXX-XXXXXXXXXXX";
$asset = "76c860cd184ae4adfa105d46135c9b27";


$ch = curl_init();

$curlurl = "https://" . $subdomain . ".XXX.com/api/v3/assets/" . $asset . ".json' ";

$variables = array(
    "name" =>  $name,
    "description" => $description,
);

curl_setopt($ch, CURLOPT_URL, $curlurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $variables);
curl_setopt($ch, CURLOPT_POST, 1);

$headers = array();
$headers[] = "Content-Type: multipart/form-data";
$headers[] = "Accept: application/json";
$headers[] = "Authorization: Bearer " . $auth;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo "Error:" . curl_error($ch);
}
curl_close($ch);
echo $result;
?>

执行时,代码运行,并且我得到空白页(接收端无返回,也无变化)。 我想念什么?

0 个答案:

没有答案
相关问题