php curl не отправляет заголовки - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь отправить заголовки с помощью php curl - что должно быть довольно просто - но, похоже, есть проблема.

Запуск на PHP 7.2 Я устанавливаю заголовки с помощью

curl_setopt($ch, CURLOPT_HTTPHEADER, array('My-custom-header-name' => 'Header-Value'));

При попытке распечатать информацию перед curl_exec с помощью

curl_getinfo($ch);

у меня следующий результат:

enter image description here

Заголовокчасть остается пустой, это потому, что она показывает заголовки ответа?Если да, как убедиться, что заголовки установлены правильно?

У меня есть доступ к удаленному адресу, который я пытаюсь достичь, и я вижу, ну, не вижу, ранееустановить заголовки.Я хотел бы убедиться, что они присоединены к запросу curl, прежде чем исследовать где-то еще.

Тот же запрос работает нормально с локального на удаленный адрес, есть ли изменения между php 7.1 и 7.2, которые я 'я не в курсе?

РЕДАКТИРОВАТЬ: Я добавил

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

, но теперь следующее:

curl_getinfo($ch, CURLINFO_HEADER_OUT);

дает

POST /someurl HTTP/1.1
Host : Some host
Accept: */*
Content-Length: 153
Content-Type: application/x-www-form-urlencoded

Я не вижу своих пользовательских заголовков.

Большое спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Ваш массив должен быть массивом строк!не массив различных объектов.

Итак, это должно быть сделано.

array(
    'My-custom-header-name: Header-Value'
    )

Примерно так:

curl_setopt($ch, CURLOPT_HTTPHEADER,     array(
        'My-custom-header-name: Header-Value'
        ));
0 голосов
/ 15 января 2019

вам нужно использовать опцию CURLINFO_HEADER_OUT для заголовков запроса.

Это устанавливается, только если CURLINFO_HEADER_OUT установлено предыдущим вызовом на curl_setopt().

см. документацию для всех доступных флагов опции.

...