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


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.