带有JSON请求主体的PHP PUT请求无法正常工作

问题描述 投票:0回答:1

我已经尝试了几种不同的方式来通过JSON请求主体执行PUT请求。我总是收到一个错误消息,说他们没有收到数据。我不知道这是我的代码还是他们的服务器。这就是我现在所拥有的。另外,我尝试了curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');curl_setopt($curl, CURLOPT_POSTFIELDS, $data);的每种组合,但没有任何效果。应该是什么

$curl = curl_init();

$data = json_encode($data_array);

$headers = array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data));

$headers[]='Authorization:'.$access_token;
$headers[]= 'Authorization: Basic '.AUTHENTICATION_TOKEN;


curl_setopt($curl, CURLOPT_PUT, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

curl_setopt($curl, CURLOPT_URL, $url);

$result = curl_exec($curl);
php rest api curl put
1个回答
0
投票

使用curl_errno为了得到特定的错误如下:

$error_msg = NULL;
if (curl_errno($ch)) {
    $error_msg = curl_error($ch);
}
curl_close($ch);
if ($error_msg !== NULL) {
    print_r($error_msg);
}
© www.soinside.com 2019 - 2024. All rights reserved.