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

PHP Curl代码与原生Curl命令返回结果不一致问题求助

Curl转PHP代码后返回结果不一致

将一条Curl命令转换为PHP代码后,测试发现两者返回结果存在差异,具体情况如下:

  • 原生Curl命令测试返回状态码401(未授权);
  • 最初编写的PHP代码测试返回状态码400(错误请求);
  • 修改PHP代码,将请求体通过json_encode处理后,返回结果为空字符串(string(0) "")。

原生Curl命令

curl -X 'POST' \
  'https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/invoices/reporting/single' \
  -H 'accept: application/json' \
  -H 'accept-language: en' \
  -H 'Clearance-Status: 0' \
  -H 'Accept-Version: V2' \
  -H 'Content-Type: application/json' \
  -d '{
  "invoiceHash": "PEx8bNFcEMEpHzUVvQntQI6ot8eFqTT/l59b+H1HqX4=",
  "uuid": "16e78469-64af-406d-9cfd-895e724198f0",
  "invoice": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLT"
}'

最初版本PHP代码

<?php
$url = "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/invoices/reporting/single";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$headers = array(
   "Accept: application/json",
   "Content-Type: application/json",
   'Clearance-Status: 0' , 
   'Accept-Version: V2' , 
   'accept-language: en' , 
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$data = [
  "invoiceHash" => "PEx8bNFcEMEpHzUVvQntQI6ot8eFqTT/l59b+H1HqX4=",
  "uuid" => "16e78469-64af-406d-9cfd-895e724198f0",
  "invoice"=>"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLT",
];

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);

var_dump ($resp);

curl_close($curl);

 ?>

修改后版本PHP代码

<?php
$url = "https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/invoices/reporting/single";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$headers = array(
   "Accept: application/json",
   "Content-Type: application/json",
   'Clearance-Status: 0' , 
   'Accept-Version: V2' , 
   'accept-language: en' , 
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$data = array("invoiceHash" => "PEx8bNFcEMEpHzUVvQntQI6ot8eFqTT/l59b+H1HqX4=", 
"uuid" => "16e78469-64af-406d-9cfd-895e724198f0" , 
"invoice" => "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLT");

$data =  json_encode($data);

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);

var_dump ($resp);

curl_close($curl);

?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:44:51