Идентичные запросы GET в CURL с использованием PHP и Postman имеют разные ответы

Мне нужно использовать сторонний API с помощью curl в PHP, но почему-то я получаю неправильный ответ с помощью 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]);

Выше - multi curl, с помощью которого мы выполняем запрос.

И используя тот же запрос и тот же заголовок, что и почтальон, мы получаем правильный ответ.

Если кто-то столкнется с этой проблемой, дайте мне знать, почему я получаю это

Образец запроса ниже для сравнения: -

 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
            )

    )

Переходя к коду и объяснению, которое вы опубликовали: запросы, вероятно, одинаковы.

Loek 31.07.2018 14:05

Проверяю параметры запроса и заголовок запроса, они совпадают. Надо ли еще что-нибудь проверить ???

pawansgi92 31.07.2018 14:06

Я не знаю? Должна быть только одна причина, по которой ответы разные, и это то, что запросы разные. Выгрузите оба сырых запроса, сравните их и посмотрите, заметите ли вы различия. Если они действительно одинаковы, API делает что-то очень странное, и вам действительно стоит обратиться в его службу поддержки.

Loek 31.07.2018 14:08

Скопируйте код Curl (PHP) непосредственно из почтальона, затем запустите его в своем приложении PHP, чтобы убедиться, что он работает, затем сравните настройки curl, чтобы выяснить, в чем была причина.

Simon K 31.07.2018 14:20

Спасибо всем за комментарии

pawansgi92 19.08.2018 19:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
165
0

Другие вопросы по теме