php - 使用 PhP 的 cURL 请求删除
问题描述
我在 php 中通过 cURL 使用 api,但是当我需要执行“删除”操作时,我遇到了问题
调用 curl_exec ($ ch)
返回一个空字符串。我正在通过邮递员和招摇来测试这个功能,它是正确的。我在 curl_api 中使用的所有其他操作,如“post”、“get”、“patch”都可以正常工作,但“delete”却不行。
curl_api 调用:
$this->curl->curl_api(API_RESTAURANT, 'Menu/' . $this->session->usuario_id, $image, 'delete');
curl_api:
public static function curl_api($api, $url, $json, $action)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_URL, $api . $url);
//curl_setopt($ch, CURLOPT_USERPWD, USER . "/token:" . APIKEY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $action);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 40);
$output = curl_exec($ch);
if(empty($output)){
die(curl_error($ch));
curl_close($ch);
}
else{
$info = curl_getinfo($ch);
curl_close($ch);
}
if (empty($info['http_code'])) {
die();
}
$return = [
'http_code' => $info['http_code'],
'output' => $output
];
return $return;
}
解决方案
您尝试将字符串“DELETE”直接作为变量传递吗?
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
该用户遇到了同样的问题,他的解决方案的主要区别在于。
希望能帮助到你!
推荐阅读
- xml - 什么是 NULL XML 文件?
- json - 在 sqlite 中使用 json_extract 从父对象和子对象中提取数据
- javascript - 在Javascript中更新对象数组中的键的最有效方法是什么?
- python - ValueError:具有多个元素的数组的真值不明确。将 a.any() 或 a.all() 与分类算法一起使用
- python - 如何使用列表创建垂直图
- azure - 创建链接服务 (Synapse) Salesforce 时出现连接错误
- spring-boot - 带有 Keycloak 的 Spring GraphQL 安全性不起作用
- stm32 - 为什么我得到这个加速度计的错误灵敏度输出?
- r - 抓取 RSS XML 提要
- python - Flask 和 Flask-PyMongo “用户警告:MongoClient 在分叉前打开。”