You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP curl_exec返回100 Continue后接404 Not Found问题排查

问题根因

你的代码存在两个核心配置错误,直接触发服务端返回404:

  • CURLOPT_POSTFIELDS传参格式错误:该参数必须传入JSON格式字符串,如果传入PHP数组,cURL会自动将请求编码为multipart/form-data格式,强制覆盖你手动设置的Content-Type: application/json请求头,自动追加boundary分隔符,和你日志里打印的Content-Type: application/json; boundary=----------------------------d7326044efb7异常头完全一致。服务端收到格式不符合预期的请求,无法匹配对应接口路由就会返回404。
  • cURL默认会自动添加Expect: 100-continue请求头,逻辑是先发送不带请求体的头信息,等服务端返回100 Continue后再发送实际请求体,很多接口服务端会直接拒绝这种不符合预期的请求流程,正好对应你日志里先收到100 Continue再收到404的现象。

另外你开启了CURLOPT_HEADER=TRUE配置,最终返回结果会包含响应头内容,即使请求成功也拿不到纯JSON响应体。

修复后可运行代码
$curl = curl_init();

// 组装POST参数并转成JSON字符串
$postData = json_encode([
    "param1" => "value1",
    "param2" => "value2"
]);

curl_setopt($curl, CURLOPT_URL, "https://xxxxxxx.com/getkey");
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);

// 客户端证书配置,提前确认PHP运行进程对两个证书文件有可读权限
curl_setopt($curl, CURLOPT_SSLCERT, "/var/www/html/certs/client.crt");
curl_setopt($curl, CURLOPT_SSLKEY, "/var/www/html/certs/client.key");

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 不需要响应头时设为false,避免头信息和响应体混杂
curl_setopt($curl, CURLOPT_HEADER, false);

// 配置请求头,通过传空值禁用Expect:100-continue逻辑
$headers = [
    'Content-Type: application/json',
    'Expect:',
    'Content-Length: ' . strlen($postData)
];
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

curl_setopt($curl, CURLOPT_POST, true);
// 传入JSON字符串,禁止传PHP数组
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);

$result = curl_exec($curl);
// 增加错误捕获方便排查问题
if (curl_errno($curl)) {
    $errMsg = curl_error($curl);
    curl_close($curl);
    throw new RuntimeException('cURL请求异常:' . $errMsg);
}
curl_close($curl);

return $result;
修复校验标准

重新运行代码后开启verbose日志,会看到两个明确变化:

  • 请求头里的Content-Type为纯application/json,不再携带boundary后缀
  • 请求头中不再出现Expect: 100-continue字段,不会再单独收到100 Continue响应
    此时即可正常获取预期的JSON响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:18:23