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

什么是X-FC-Nonce Header?PHP调用API缺失该Header如何解决?

X-FC-Nonce Header的作用

这个参数是接口提供方设置的防重放攻击校验参数,要求每次请求携带一个独一无二的随机字符串,避免请求被第三方截获后重复恶意提交。参数值没有固定格式要求,只要保证单次请求唯一即可,通常可以用时间戳+随机字符串拼接后生成。

代码修复方案

只需要先生成随机的nonce值,再将对应的请求头添加到curl的header配置中即可,修改后的完整代码如下:

// 生成唯一的X-FC-Nonce随机值
$nonce = md5(uniqid(mt_rand(), true));

$path = $_FILES["img"]["tmp_name"];
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'https://iai.flashsoftapi.com/v1/thai-id-card-ocr');
// 此处key:key请替换为你实际的接口授权密钥
curl_setopt($curl_handle,CURLOPT_USERPWD,'key:key');
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/x-www-form-urlencoded',
    // 新增缺失的X-FC-Nonce请求头
    'X-FC-Nonce: '.$nonce
    ));
curl_setopt($curl_handle, CURLOPT_POST, TRUE);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $base64);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);
$text = curl_exec($curl_handle);
curl_close($curl_handle);

echo $text;

内容的提问来源于stack exchange,提问作者เอกราช สุขประเสริฐ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:54:01