使用API、curl和PHP执行PUT时出现“BAD CSRF”

非常感谢!问题解决了。

对于其他遇到同样问题的人:

$url = 'https://www.website.com/{username}.json';
$data = ['name' => 'George'];
$api_key = CUSTOM_DISCOURSE_API;

$headers = array("Content-Type: multipart/form-data;", "Api-Key: $api_key", "Api-Username: system");


$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

$result = curl_exec($ch);

if (curl_errno($ch) !== 0) {
   // 处理错误,调用 curl_close($ch) 并返回。
}

curl_close($ch);

$discourse_user = json_decode($result);
4 个赞