php - 设置空 CURLOPT_POSTFIELDS
问题描述
我正在尝试使用通用库函数使用 curl 发送 GET 和 POST 请求。
function myCurl($url, $postData = null)
{
// Sets some default curl options here
$options = array(
...
CURLOPT_POSTFIELDS => $postData,
...
);
$ch = curl_init();
// this works and sends GET
// unset($options[CURLOPT_POSTFIELDS]);
curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch);
}
如果已设置,我希望此函数发送 POST $postData
,否则将其视为GET
. 但是,即使我将 POST 设置CURL_POSTFIELDS
为null
. 取消设置CURL_POSTFIELDS
选项数组元素有效并发送一个GET
. 但是,有没有办法保留CURL_POSTFIELDS
curl 选项并将其设置为默认空值并使其发送GET
请求?
解决方案
$options = array(
...
);
if(!empty($postData)){
$options[CURLOPT_POSTFIELDS]=$postData;
}
或者,以下方法应该有效,但它是愚蠢的 imo:
$options = array(
...
CURLOPT_POSTFIELDS => $postData,
CURLOPT_HTTPGET => empty($postData)
...
);
推荐阅读
- hive - Hive - 按数据内容对外部表进行分区
- json - 使用 JSONPath 按名称过滤 json 属性
- javascript - 在画布html5中添加自定义动画
- python - 无法在端口 80 上运行 Ec2-server
- html - Bootstrap 4,材料套件 - 导航栏切换器不起作用
- java - 迭代 MapReduce 作业出现 NumberFormatException 错误
- d3.js - 使用数组过滤器从 csv 过滤数据未按预期工作
- python - SymPy:列表中符号求和的表达式
- javascript - 在使用 B2C 的 Javascript/Angular 6 SPA 应用程序中通过 MSAL.JS 注销时出错
- python - 如何在numpy数组python中找出索引