Эй, ребята. Я пытался диагностировать возникшую у меня проблему, когда почтовый запрос, который я отправляю через 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 [отредактировано]
Значения формы (пусто)