将curl命令转换为PHP代码

将curl命令转换为PHP代码,php,rest,curl,Php,Rest,Curl,我需要通过他们已经提供的RESTAPI删除开放式matterhorn录制。(仅供参考,无需担心马特宏峰) 我需要开发简单的PHP代码,通过给定的RESTAPI删除一些条目。我已经用curl命令行测试过了,它运行得很好,但我无法将其转换为可用的PHP代码 工作旋度命令: curl --digest -X "DELETE" -u matterhorn_system_account:CHANGE_ME -H "X-Requested-Auth: Digest" -H "X-Opencast-Matte

我需要通过他们已经提供的RESTAPI删除开放式matterhorn录制。(仅供参考,无需担心马特宏峰)

我需要开发简单的PHP代码,通过给定的RESTAPI删除一些条目。我已经用curl命令行测试过了,它运行得很好,但我无法将其转换为可用的PHP代码

工作旋度命令:

curl --digest -X "DELETE" -u matterhorn_system_account:CHANGE_ME -H "X-Requested-Auth: Digest" -H "X-Opencast-Matterhorn-Authorization: true" url/search/xxxx
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url/search/xxxx');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, 'matterhorn_system_account:CHANGE_ME');
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Requested-Auth: Digest"));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Opencast-Matterhorn-Authorization: true"));
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
无法使用PHP命令:

curl --digest -X "DELETE" -u matterhorn_system_account:CHANGE_ME -H "X-Requested-Auth: Digest" -H "X-Opencast-Matterhorn-Authorization: true" url/search/xxxx
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'url/search/xxxx');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($ch, CURLOPT_USERPWD, 'matterhorn_system_account:CHANGE_ME');
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Requested-Auth: Digest"));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Opencast-Matterhorn-Authorization: true"));
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
结果
$httpCode
为302,表示它不工作

知道我哪里出错了吗


提前感谢

您需要将这两者结合起来,这样您就不会覆盖您自己:

curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Requested-Auth: Digest"));
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Opencast-Matterhorn-Authorization: true"));
所以应该是这样

curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Requested-Auth: Digest", 
                                           "X-Opencast-Matterhorn-Authorization: true"));
它可能也会有助于跟踪重定向

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

你拯救了我的一天,它对我有用。无论是否使用
CURLOPT_FOLLOWLOCATION
,它都可以工作