如何在 PHP 中创建 cURL POST 请求

Mat*_*ach 6 php curl

我正在尝试弄清楚如何创建 PHP cURL POST 请求。我有以下代码可以使用。我对 -g -X 和 -H 的含义有点困惑。

curl -g -X POST -H 'Authorization: bearer <access_token>' -d 'superTasks=["IEAE34A4KQATKP4S"]&metadata=[{"key":"testMetaKey","value":"testMetaValue"}]&priorityBefore=IEAE34A4KQATKP4S&importance=High&customFields=[{"id":"IEAE34A4JUAADKT3","value":"testValue"}]&description=Test task description&dates={"start":"2016-05-18","due":"2016-05-25"}&title=Test task&follow=true&followers=["KUAHYFH4"]&responsibles=["KUAHYFH4"]&shareds=["KUAHYFH4"]&parents=["IEAE34A4I4ATKP4L"]&status=Active' 'https://www.wrike.com/api/v3/folders/IEAE34A4I4ATKP4L/tasks'
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏。

编辑添加以下代码:

$postData = array(
    "title" => "Test task",
    "description" => "Test task description",
    "status" => "Active",
    "importance" => "Normal",
    "dates" => {"start":"2016-05-18","due":"2016-05-25"},
    "shareds" => ["KUAHYFH4"],
    "parents" => ["IEAE34A4I4ATKP4L"],
    "responsibles" => ["KUAHYFH4"],
    "followers" => ["KUAHYFH4"],
    "follow" => "true",
    "priorityBefore" => "IEAE34A4KQATKP4S",
    "priorityAfter" => "IEAE34A4KQATKP4S",
    "superTasks" => "["IEAE34A4KQATKP4S"]",
    "metadata" => "[{"key":"testMetaKey","value":"testMetaValue"}]"),
    "customFields" => [{"id":"IEAE34A4JUAADKT3","value":"testValue"}],
    "customStatus" => "string"
    );

$handler = curl_init();

curl_setopt($handler, CURLOPT_URL, "https://www.wrike.com/api/v3/folders/IEAE34A4I4ATKP4L/tasks");
curl_setopt($handler, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($handler, CURLOPT_POST, true);
curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, false);

curl_exec($handler);
Run Code Online (Sandbox Code Playgroud)

通过执行curl -h,我得到了以下信息:

-g, --globoff 使用 {} 和 [] 禁用 URL 序列和范围

-X, --request COMMAND 指定要使用的请求命令

-H, --header LINE 将自定义标头 LINE 传递到服务器 (H)

-d, --data 数据 HTTP POST 数据 (H)

但我不知道如何添加这些属性。

Bog*_*ica -5

Curl -h 应该可以帮助您了解每个选项的含义。正如其他人所建议的,您可以阅读curl手册以查看所有curl选项/功能