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


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.