Відповідь "Не вдалося отримати відповіді" під час використання листоноші з субдоменом


223

Я використовую листоношу для тестування API, який у мене є, все добре, коли запит не містить піддомен, проте коли я додаю субдомен до URL, я отримую цю відповідь.

Не вдалося отримати відповіді

Під час підключення до http: //subdomain.localhost: port / api / сталася помилка

Чому це могло статися:

Сервер не зміг надіслати відповідь: Переконайтесь, що бекенд працює належним чином

Самопідписані сертифікати SSL блокуються: виправте це, вимкнувши "Перевірка сертифіката SSL" у Налаштуваннях> Загальне

Неправильно налаштований проксі Переконайтеся, що проксі правильно налаштовано в Налаштуваннях> Проксі

Запити час очікування: змінити час очікування запиту в Налаштуваннях> Загальне

Якщо я скопіюю ту саму URL-адресу з листоноші та вставте її у браузер, я отримаю належну відповідь, чи є якісь конфігурації, які я повинен зробити, щоб листоноша працювала з піддоменами?


1
В основному я стикався з проблемами тайм-ауту, коли щось не було підключене до VPN, на стороні сервера, що протікає. Можливо, у заголовках запиту чи в налаштуваннях CORS щось не вистачає?
— Ed Meacham

1
якщо це так, чи не слід мені називати "поганий запит", "несанкціонований" чи щось подібне?
— Yahya Hussein

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

1
Я бачу, якщо це проблема з білим списком, чи буде вона працювати для localhost / api, а не для subdomain.localhost / api? ні, це не потрапляє до контролера
— Yahya Hussein

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

Відповіді:


480

Спочатку перейдіть до " Налаштування" у листоноші :

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

  2. Off в глобальної конфігурації проксі - сервера і проксі Використання системи в закладці Proxy:

  3. Зробити час запиту на нуль


Ви дотримувались усіх кроків, тільки що я змінив, що він працював на мене
— Ramesh R

1
якщо у вас немає варіанту ssl, ви повинні завантажити пошту звідси: www.getpostman.com
— Abdullah

14
Щойно відключення сертифікації ssl працювало для мене
— devcodes

4
Це працювало як шарм, але моє плутанина, чому він працював на QA, а не на DEV. У будь-якому випадку, і зараз, і те й інше. Знову дякую.
— raja777m

26
Мені подобається, як ця відповідь отримує стільки відгуків, коли вона буквально повідомляє вам те саме, що було зроблено у повідомленні про помилку.
— georgiaboy82

224

У мене було те саме питання. Це було викликано новим рядком наприкінці значення заголовка "Авторизація", яке я встановив вручну, вставивши копію маркера носія (який випадково містив новий рядок в його кінці)


14
Тут же, мій був на власному заголовку. Видалено додатковий новий рядок, все добре.
— Сяо

Дещо пов'язане: мої запити були згруповані в колекції, використовуючи загальну змінну URL-адреси для всіх запитів. Я випадково видалив ім'я змінної (навіть незважаючи на те, що значення url все ще були) і отримав помилку, згадану в ОП.
— Єзуїзм

3
Це може статися в будь-якому заголовку. Сталося зі мною із Cookieзаголовком
— Kerooker

4
Це врятувало мені життя!
— neeohw

2
@Kerooker! Ваш коментар - це те, що мене врятувало! Це був заголовок, приклеєний до копії, який мав провідне місце для мене.
— saml

56

Якщо під час надсилання запиту ви отримаєте повідомлення "Не вдалося отримати відповідь" від натільних програм Postman, відкрийте консоль Postman (Перегляд> Показати консоль листоноші), надішліть повторно запит і перевірте, чи немає в консолі журналів помилок.

Завдяки numaanashraf


4
Дуже корисний. Я думаю, мені потрібно було відключити ssl certs, але я додав поганий заголовок, і консоль прописала це для мене.
— MattC

2
Це вказувало мені в правильному напрямку; у моєму випадку консольний журнал дав набагато чіткішу помилку, ніж зробив Postman: "Помилка: недійсний символ у вмісті заголовка [" Авторизація "] Попередження: Цей запит не надсилається повністю та може не мати всіх необхідних заголовків системи".
— Пітер Ш

1
Це має бути прийнятою відповіддю, оскільки це допомагає зрозуміти основну причину, а не просто її здогадуватися (наприклад, "недійсний символ у заголовку").
— Олексій

17

Привіт Ця проблема вирішена для мене.

налаштування -> загальне -> Запит часузавершення в мс = 0


Ви можете посміятися, але свіжий інсталятор v7.17.0 мав це на 60... Якби ви цього не згадували, я б там не шукав годинами ... Дякую!
— Кошине

Бум! Це спрацювало, чи можу я знати причину цього?
— Pardeep Jain

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 \ driver \ etc \ hosts"

  5. Відкрийте цей файл у режимі адміністратора
  6. І додайте піддомен у файл хостів введіть тут опис зображення

3

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


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, інкапсульований у текстовому (базовому-64) кодуванні.

Ви можете використовувати OpenSSL для зміни файла CER у файл CRT. Мені не пощастило з цим, але це виглядає приблизно так.

openssl x509 -інформація PEM -в сертифікаті.cer -out сертифікат.crt

або

openssl x509 -інформація DER -в сертифікаті.cer -out сертифікат.crt


1

Жодне з цих рішень для мене не працює. Листоноша не надсилає жодного запиту на сервер, оскільки листоноша не знаходить хоста. Отже, якщо ви модифікуєте ваш / etc / hosts 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

Це працює для мене.


1

Для мене питання полягало в тому, що Content-Lengthбуло занадто великим. Я розмістив вміст тіла в NotePad ++ і порахував символи, поставив цю фігуру, PostManа потім вона спрацювала.

Я знаю, що це не відповідає безпосередньо тому, чому піддомен оп не працює, але це може комусь допомогти.


Поштальон повертає ту ж помилку, навіть якщо ви надсилаєте заголовок HTTP, content-encoding: gzipале вміст не gzipped. Дивіться stackoverflow.com/a/52854400/2988107
— Мішо

1

невидимі простори

У моєму випадку це був невидимий пробіл, який листоноша не розпізнавав, наведений вище рядок тексту виглядає як без пробілів у листоноші. Я вимкнув SSL сертифікат Validation і System Proxy навіть приміряв розширення хроману листоноші (що вже буде застарілим), але коли я завантажив і спробував Insomnia, він дав ці червоні точки в тому місці, де були ці простори, мусив потрапити туди під час копіювання / пасти


1

Для тих, хто відчув цю проблему з реальним доменом замість localhost і не зміг її вирішити, використовуючи БУДЬ-ЯК ЗОВІДЬ .

Спробуйте змінити мережевий DNS (WIFI або LAN) на інший DNS. Для мене я використовував Google DNS 8.8.8.8, 8.8.4.4 і він працював!

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


1

рішення дуже просте, якщо ви використовуєте додаток asp.net core 2. Метод Inside 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, який листоноша не любив. Я виявив це, активувавши View-> Show the Postman console та повторно повторивши запит. Потім консоль показала помилку сертифіката. У Налаштуваннях-> Загальне I вимкнено підтвердження SSL сертифікатів.


0

Для вирішення цієї проблеми для мене, як я використовую застаріле Postmanрозширення Chrome, мені довелося:

  1. Зателефонуйте до GETзапиту за допомогоюChrome браузера.
  2. Зачекайте на сторінці помилки "Ваше з'єднання не є приватним" .
  3. Клацніть на, ADVANCEDа потім proceed to [url] (unsafe)посилання.

Після цього запити через само розширення повинні спрацювати.


0

У моєму випадку це була неправильно налаштована підмережа. Працювала лише одна з двох підмереж в 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.