php - 使用 PHP 和 Postman 的 CURL 中相同的 GET 请求有不同的响应
问题描述
我必须在 PHP 中使用 curl 访问第三方 API,但不知何故,我使用 curl 得到了错误的响应,但是当我使用 curl 访问相同的请求Postman
时,我得到了正确的结果。
多卷曲
$this->curlArray[$id] = curl_init();
curl_setopt($this->curlArray[$id], CURLOPT_URL, "$url");
curl_setopt($this->curlArray[$id], CURLOPT_HEADER, 0);
curl_setopt($this->curlArray[$id], CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->curlArray[$id], CURLOPT_ENCODING, 'gzip');
curl_setopt($this->curlArray[$id], CURLOPT_TIMEOUT, 30);
curl_setopt($this->curlArray[$id], CURLOPT_HTTPHEADER, $header);
curl_multi_add_handle($this->multi, $this->curlArray[$id]);
以上是我们正在使用的多卷曲请求。
并且使用相同的请求和相同的标头,我们使用邮递员进行访问,我们得到了正确的响应。
如果有人遇到这个问题,请告诉我为什么我会得到这个
样品请求如下进行比较: -
Postman Request Parameters and header
URL: XXXXXX.availability/vn52hfn4jwi5zhy?hotel_info=false&rates=false&hcode=H!0249886&bundled=true
Headers:
api-key:2f7ef83xyzxyzxyzxyzxyzxyzxyzxyz
Content-Type:application/json
Accept:application/json
Accept-Encoding:application/gzip
parameters:
hotelinfo:false
rates:false
hcode:O987b
CURL Request Paramters and Headers
URL:XXXXXX.availability/vn52hfn4jwi5zhy
parameters:{"hotelinfo":false,"rates":false,"hcode":"O987b"}
Headers : Array
(
[0] => Content-Type:application/json
[1] => Accept:application/json
[2] => Accept-Encoding:application/gzip
[3] => api-key:2f7ef83xyzxyzxyzxyzxyzxyzxyzxyz
)
)
解决方案
推荐阅读
- json - jq 1.5 从另一个数组中的数组打印项目
- c++ - constexpr 函数是隐式静态的吗?
- version - 将 omnet++4.6 与 5.1 集成
- assembly - 为什么跳转签名指令的工作相反
- jquery - 为什么在表单操作页面中结构键值显示两次像“提交,提交”?
- javascript - 在 JavaScript 中复制字符串
- css - Microsoft Edge 无法很好地渲染样式
- c# - 路由表中的动态默认参数
- sql - 两个数据库 Sage300 和 ToolHound 之间的 sql 集成
- python - 如何更改 pandas resample 评估的时间段?