Удаление заголовка transfer-encoding: chunked из запроса POST, который добавил его автоматически - PullRequest
0 голосов
/ 20 июня 2020

Эй, ребята. Я пытался диагностировать возникшую у меня проблему, когда почтовый запрос, который я отправляю через php, работает в моей локальной среде, но не на моем производственном сайте. В моей локальной реализации я получаю ответ токена аутентификации, который ищу, но на действующем сайте я получаю ошибку 502. Я попытался отправить запрос с локального сайта и с производственного сайта на webhook.site, чтобы проверить различия, и заметил, что единственное различие заключалось в том, что на производственном сайте был заголовок «transfer-encoding: chunked». Я знаю, что в моем запросе нет основного содержимого, поэтому я устанавливаю длину своего содержимого равной 0. Я специально не запрашиваю заголовок transfer-encoding: chunked, и я не уверен, как его удалить, учитывая, что он несовместимо с длиной содержимого.

Вот соответствующий фрагмент кода

function getAuth($agent, $secret, $url) {
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_USERPWD, $agent . ":" . $secret);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Length: 0'));
    $result = curl_exec($curl);
    curl_close($curl);
    $array = json_decode($result, true);
    return $array;
}   

А вот разбивка webhook.site:

Заголовки

соединение закрывается

ожидание 100-continue

content-type application / x- www-form-urlencoded

передача-кодирование фрагментировано

accept /

авторизация Basi c Mzk2OjZlZWExOWVjNTc3YzMzMzkzNjdjNzM3YzczMDEyYTRk

хост webhook.site * пользователь 1026 *

* -длина содержимого 0

длина содержимого 0 *1028* * 10 отредактировано]

php -auth-pw [отредактировано]

Значения формы (пусто)

...