首页 > 解决方案 > 使用 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
            )

    )

标签: phpapicurlpostman

解决方案


推荐阅读