Ответ «Не удалось получить ответ» при использовании почтальона с поддоменом


223

Я использую почтальон для тестирования имеющегося у меня API, все хорошо, когда запрос не содержит субдомена, однако, когда я добавляю субдомен к URL, я получаю этот ответ.

Не удалось получить ответ

При подключении к http: //subdomain.localhost: port / api / произошла ошибка

Почему это могло произойти:

Серверу не удалось отправить ответ: убедитесь, что серверная часть работает правильно

Самозаверяющие SSL-сертификаты блокируются. Исправьте это, отключив «Проверка SSL-сертификата» в меню «Настройки»> «Основные».

Прокси-сервер настроен неправильно Убедитесь, что прокси-сервер настроен правильно в Настройки> Прокси

Время ожидания запроса: Изменить время ожидания запроса в Настройки> Общие

Если я скопирую тот же URL-адрес из почты и вставлю его в браузер, я получу правильный ответ, есть ли какие-то конфигурации, которые я должен сделать, чтобы почтальон работал с поддоменами?


1
В основном я сталкивался с проблемами тайм-аута, когда было что-то вроде отсутствия подключения к VPN, сбежавшего процесса на стороне сервера. Возможно, что-то отсутствует в заголовках ваших запросов или в конфигурации CORS?
— Эд Мичам

1
если это так, не должен ли я получить «плохой запрос», «несанкционированный» или что-то подобное?
— Яхья Хусейн

1
За проблему маршрутизации вы наверняка получите 40х. Если это проблема белого списка / VPN, то вы также должны получать 40x ... Я понятия не имею, как настроен сервис, но при использовании Postman ваш запрос будет приходить из другого источника - так что, потенциальная проблема белого списка , Вы должны быть в состоянии выполнить некоторую базовую отладку на стороне сервера, чтобы увидеть, попадете ли вы даже в контроллер для своей конечной точки ...
— Ed Meacham

1
Я вижу, если это проблема белого списка, будет ли она работать для localhost / api и не будет для subdomain.localhost / api? нет, это не добраться до диспетчера
— Яхья Хусейн

1
Я думаю, что во многих случаях что-то не так с приложением, а не с почтальоном. Я отладил свое приложение и проверил в окне вывода в Visual Studio, и обнаружил, что между моими сущностями есть циклы ссылок. После того, как я исправил это, проблема исчезла.
— Desell

Ответы:


480

Сначала зайдите в Настройки в Почтальоне :

  1. Off на проверки сертификата SSL в General Tab:

  2. Off в глобальной конфигурации прокси - сервера и прокси Использование системы в закладке Proxy:

  3. Сделать запрос тайм - аут на ноль


Вы выполнили все шаги, только сейчас я изменил это работало для меня
— Ramesh R

1
если у вас нет опции ssl, вам нужно скачать почтальон отсюда: www.getpostman.com
— Абдулла Тахан

14
Просто отключение ssl-сертификации сработало для меня
— devcodes

4
Это сработало как шарм, но я не понимаю, почему это сработало для QA, а не для DEV. Во всяком случае, они оба работают нормально сейчас. Еще раз спасибо.
— raja777m

26
Мне нравится, что этот ответ вызывает так много откликов, когда он буквально говорит вам то же самое, что было сказано в сообщении об ошибке.
— georgiaboy82

224

Я была такая же проблема. Это было вызвано символом новой строки в конце значения заголовка «Авторизация», который я установил вручную путем вставки копии токена носителя (который случайно содержал символ новой строки в конце)


14
То же самое здесь, у меня был пользовательский заголовок. Убрал лишний перевод строки, все нормально.
— Сяо

Несколько связано: мои запросы были сгруппированы в коллекцию, используя общую переменную url для всех запросов. Я случайно стер имя переменной (хотя значения url все еще были там) и получил ошибку, упомянутую в OP.
— Иезуизм

3
Это может произойти с любым заголовком. Случилось со мной с Cookieзаголовком
— Kerooker

4
Это спасло мне жизнь!
— neeohw

2
@Kerooker! Ваш комментарий это то, что спасло меня! Это был вставленный в копию ключ заголовка, который имел для меня начальное место.
— Самл

56

Если при отправке запроса вы получаете сообщение «Не удалось получить ответ» от собственных приложений Postman, откройте консоль Postman («Просмотр»> «Показать консоль Postman»), повторно отправьте запрос и проверьте журналы ошибок в консоли.

Благодаря numaanashraf


4
Очень полезно. Я думаю, что мне нужно было отключить ssl-сертификаты, но я добавил плохой заголовок, и консоль прояснила это для меня.
— MattC

2
Это указало мне в правильном направлении; в моем случае журнал консоли дал гораздо более ясную ошибку, чем почтальон: «Ошибка: недопустимый символ в содержимом заголовка [« Авторизация »] Предупреждение: этот запрос не был отправлен полностью и может не иметь всех необходимых системных заголовков».
— Питер В.

1
Это должен быть принятый ответ, поскольку он поможет вам понять основную причину, а не просто угадать ее (например, «недопустимый символ в заголовке»).
— Алексей

17

Привет Этот вопрос решен для меня.

настройка -> общие -> время ожидания запроса в мс = 0


Вы можете смеяться, но новая версия v7.17.0 имела это 60... Если бы вы не упомянули об этом, я бы не смотрел там часами ... Спасибо!
— Кошина

Boom! Это сработало, могу я узнать причину этого?
— Пардип Джейн

13

Если все вышеперечисленные методы не работают, проверьте переменные среды и убедитесь, что следующие среды не установлены. Если они установлены и не нужны никаким другим приложениям, удалите их.

HTTP_PROXY
HTTPS_PROXY

Ссылка ссылка


2
Я не могу поверить, что это все еще происходит в 2019 году. Что, если мои другие приложения нуждаются в этих параметрах env :(
— thReality


6

При получении следующей ошибки, введите описание изображения здесь

вам нужно сделать следующее.

Шаг 1: В Почтальоне, нажмите значок гаечного ключа, перейдите в настройки, затем перейдите на вкладку Прокси.

Шаг 1 Значок гаечного ключа> Настройки> Вкладка «Прокси»

Шаг 2. Создайте собственный прокси. В этой статье объясняется, как создать собственный прокси. После того, как вы создадите пользовательский прокси-сервер, убедитесь, что вы выключили переключатель прокси-сервера. Я поставил 61095 для прокси-сервера, и он работал для меня.

введите описание изображения здесь

Шаг 3 :

успех

успех


4
Можете ли вы объяснить, почему прокси-сервер необходим для доступа к серверу в локальной сети, в котором возникла эта проблема?
— robross0606

5

Я придумал это решение

  1. В почтальоне зайдите в настройки -> прокси
  2. И отключить глобальную настройку прокси
  3. на использование системного прокси введите описание изображения здесь

  4. И перейдите в файл конфигурации хоста Windows 'C: \ Windows \ System32 \ drivers \ etc \ hosts'

  5. Откройте этот файл в режиме администратора
  6. И добавьте поддомен в файл hosts введите описание изображения здесь

3

Для меня то, что работало, было добавить 127.0.0.1 subdomain.localhostв мой файл хоста. На OSX это был / etc / hosts. Не уверен, почему это было необходимо, так как я мог получить доступ к поддомену из Chrome.


2
  1. В почтальоне зайдите в настройки -> прокси
  2. И отключить глобальную настройку прокси

введите описание изображения здесь


1

Для меня это был тот маршрут, по которому я звонил на моем сервере узлов, ничего не возвращая. Добавление

    return res.status(200).json({
        message: 'success!',
        response: 'success!'
    });//

к маршруту, которому я звонил, решил проблему.


1

Вы упомянули, что используете сертификат CER.

Согласно странице почтальона на сертификатах.

Выберите файл сертификата клиента в поле CRT-файла. В настоящее время мы поддерживаем только формат CRT. Поддержка других форматов (например, PFX) появится в ближайшее время.

Имя расширения CER, CRT не делает сертификат таким типом сертификата, но это имена исключенных расширений.

CER - это сертификат X.509 в двоичной форме, кодированный DER.

CRT - это двоичный сертификат X.509, инкапсулированный в текстовую (base-64) кодировку.

Вы можете использовать OpenSSL для преобразования файла CER в файл CRT. Мне не повезло с этим, но это выглядит так.

openssl x509 -информ PEM -в сертификате.сер -ут сертификат.crt

или

openssl x509 -информировать DER -в сертификате.сер -ут сертификат.crt


1

Ни одно из этих решений не работает для меня. Почтальон не отправляет никаких запросов на сервер, потому что почтальон не находит хост. Итак, если вы измените ваш / etc / hosts на 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

Меня устраивает.


1

Для меня проблема была в том, что он Content-Lengthбыл слишком большим. Я поместил содержимое тела в NotePad ++, подсчитал символы и вставил эту цифру, PostManи тогда она заработала.

Я знаю, что это не дает прямого ответа, почему не работает поддомен ОП, но это может кому-то помочь.


Почтальон возвращает ту же ошибку, даже если вы отправляете заголовок HTTP, content-encoding: gzipно содержимое не распаковывается. См stackoverflow.com/a/52854400/2988107
— Mišo

1

невидимые места

В моем случае это были невидимые пробелы, которые почтальон не мог распознать, приведенная выше строка текста выглядит как без пробелов в почтальоне. Я отключил проверку SSL-сертификата, а системный прокси-сервер даже пытался использовать расширение для почтовой системы Chrome (что должно быть объявлено устаревшим), но когда я скачал и попробовал Insomnia, и он дал эти красные точки в том месте, где находились эти пробелы, он, должно быть, попал туда во время копирования /вставить


1

Для тех, кто сталкивался с этой проблемой в реальном домене вместо localhost и не мог решить ее, используя ЛЮБОЕ ИЗ ВЫШЕГО решения.

Попробуйте изменить сетевой DNS (WIFI или LAN) на другой DNS. Я использовал Google DNS 8.8.8.8, 8.8.4.4, и это сработало!

введите описание изображения здесь


1

Решение очень простое, если вы используете приложение asp.net core 2. Внутри метода ConfigureServices внутри файла startup.cs вся эта строка

services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);


0

После всех вышеперечисленных методов, таких как отключение проверки сертификата SSL, включение только Использовать системный прокси и удаление системных переменных среды HTTP_PROXY и HTTPS_PROXY, все заработало.

Примечание: пришлось перезапустить приложение Postman, так как переменные среды были изменены.


0

Снятие галочки с прокси-сервера и SSL-сертификата у меня не сработало.

Сброс переменных окружения PROXY сделал свое дело.

export http_proxy=
export ftp_proxy=
export https_proxy=

Перейдите в каталог, где установлен Postman, а затем:

./Postman

0

Почтальон для Linux версии 6.7.1 - Ubuntu 18.04 - linux 4.15.0-43-generic / x64

У меня была такая же проблема , и я случайно заменил http://localhostс http://127.0.0.1и все работало.

мой etc/hosts были правильные записи для localhostиhttps://localhost запросы всегда работали, как ожидалось.

Я понятия не имею , почему изменяющийся localhostдля httpс 127.0.0.1решить эту проблему.


0

В моем случае MVC не смог сериализовать результаты (я случайно использовал модель вместо DTO). Я отладил до передачи простой строки, которая работала. Как только я исправил сериализацию, все вышло.


0

В моем случае (корпоративный) прокси-сервер использовал самозаверяющий SSL-сертификат, который Postman не любил. Я обнаружил это, активировав View-> Show console Postman и повторив запрос. Затем консоль показала ошибку сертификата. В Настройки-> Общие я отключил проверку SSL-сертификата.


0

Решение для меня, поскольку я использую устаревшее Postmanрасширение для Chromeрешения этой проблемы, мне пришлось:

  1. Вызовите какой-либо GETзапрос с помощью самого Chromeбраузера.
  2. Дождитесь появления страницы с сообщением об ошибке «Ваше соединение не является частным» .
  3. Нажмите ADVANCEDи затем proceed to [url] (unsafe)ссылку.

После этого запросы через само расширение должны работать.


0

В моем случае это была неправильно настроенная подсеть. Работает только одна из 2 подсетей в ELB.

Я понял это, выполнив nslookup и попытавшись свернуть возвращенные IP-адреса напрямую. Работал только один. Почтальон просто продолжал использовать неправильно настроенный.


0

Я была такая же проблема.

Оказалось, что мое время ожидания было установлено слишком низким. Я изменил его на 30 мс, думая, что это 30 сек. Я установил его обратно на 0, и он снова начал работать.


0

Я получил ту же проблему «Не удалось получить ответ» из-за неправильного параметра в заголовке. Я исправил это, удалив параметр HOST из заголовка.

PS: К сожалению, я был вынужден установить другое программное обеспечение, чтобы получить эту информацию. Было бы здорово получить это сообщение об ошибке от Почтальона, вместо того, чтобы получать общую чушь.



0

В моем случае проблема заключалась в том, что для среды UAT URL API будет начинаться с Http вместо https . Кроме того, бэкэнд назначает разные порты для Http и https.

например,

http://10.12.12.31:2001/api/example . - правильно для меня

https://10.12.12.31:2002/api/example . - это неправильно для меня

Потому что я использовал https и порт 2002 для попадания в среду UAT. Так что я получаю не могу получить ни одной ошибки ответа в почтальоне.


0

Я только что испытал эту ошибку. В моем случае путь был СЛИШКОМ ДЛИННЫМ. Так URL-адрес, который дал мне эту ошибку в почтальоне (поддельный пример)

http://127.0.0.1:5000/api/batch/upload_import_deactivate_from_ready_folder

в то время как

http://127.0.0.1:5000/api/batch/upld_impt_deac_ready_folder

работал нормально.

Надеюсь, это поможет кому-то, кто случайно прочитал это далеко ...

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.