You need to enable JavaScript to run this app. 如何将带Bearer认证的命令行Curl POST JSON请求转换为可运行PHP代码
优惠活动
大模型
产品
解决方案
定价
更多

如何将带Bearer认证的命令行Curl POST JSON请求转换为可运行PHP代码

与原curl命令逻辑完全对齐的可运行PHP实现

缺失项补全说明

对照你原shell中可正常运行的curl命令,你最初编写的PHP代码存在多个会导致请求失败的缺失项,逐一补全后即可实现完全一致的请求效果:

  • 原curl带-k参数表示跳过HTTPS证书校验,PHP端没有对应配置,会直接触发证书验证失败
  • 原curl带Authorization: Bearer fc68946e-6b31-45ba-9006-d3519a9e1464的请求头,PHP端完全没有传递该参数,会被接口鉴权拦截
  • 原代码中用单引号包裹的内容不是合法JSON格式,shell环境下curl能正常传递是因为shell的参数解析特性,PHP端直接发送这类内容会被接口的JSON格式校验拦截
  • 原curl带-i参数表示返回结果中包含响应头信息,PHP端未开启对应配置,返回内容和原curl不一致

可直接运行的完整代码

<?php
$url = "https://10.10.9.239:8443/restAPI/online_report";

// 用数组构造请求参数,转成标准合法JSON,避免单引号导致的格式错误
$requestData = [
    'reportName' => 'Aggregation/Archive Log',
    'indexFrom' => '1',
    'reportParameter' => [
        'QUERY_FROM_DATE' => 'NOW -30 MONTH',
        'QUERY_TO_DATE' => 'NOW',
        'SQLGuardHostName' => '%',
        'SHOW_ALIASES' => 'TRUE',
        'REMOTE_SOURCE' => '%'
    ]
];
$data_json = json_encode($requestData, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// 对应原curl的-k参数:关闭SSL证书校验
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
// 完整配置原curl要求的所有请求头
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer fc68946e-6b31-45ba-9006-d3519a9e1464'
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_json);
// 对应原curl的-i参数:返回内容中包含响应头
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
// 增加错误捕获,方便定位请求问题
if (curl_errno($ch)) {
    echo "请求执行错误:" . curl_error($ch);
}
curl_close($ch);

echo $response;
?>

补充说明

  • 如果不需要和原curl一样返回响应头,将CURLOPT_HEADER的参数值改为false即可,不影响接口请求逻辑。
  • 用数组构造参数再转JSON的方式,能避免手动写JSON时的引号格式错误,是PHP端发送JSON请求的通用稳妥写法。

内容的提问来源于stack exchange,提问作者Seyhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 15:54:04