Odpowiedź „Nie można uzyskać żadnej odpowiedzi” podczas korzystania z listonosza z poddomeną

223

Korzystam z listonosza do przetestowania posiadanego interfejsu API, wszystko jest w porządku, gdy żądanie nie zawiera subdomeny, ale gdy dodam subdomenę do adresu URL, otrzymuję tę odpowiedź.

Nie można uzyskać żadnej odpowiedzi

Wystąpił błąd podczas łączenia z http: //subdomain.localhost: port / api /

Dlaczego tak się stało:

Serwer nie może wysłać odpowiedzi: Upewnij się, że backend działa poprawnie

Certyfikaty SSL z podpisem własnym są blokowane: napraw to, wyłączając opcję „Weryfikacja certyfikatu SSL” w Ustawieniach> Ogólne

Niepoprawnie skonfigurowany serwer proxy Upewnij się, że serwer proxy jest poprawnie skonfigurowany w Ustawienia> Serwer proxy

Limit czasu żądania: zmień limit czasu żądania w Ustawienia> Ogólne

Jeśli skopiuję ten sam adres URL z listonosza i wkleję go do przeglądarki, otrzymam prawidłową odpowiedź, czy istnieją jakieś konfiguracje, które należy wykonać, aby listonosz działał z subdomenami?

Yahya Hussein
źródło
1
Mam głównie problemy z przekroczeniem limitu czasu, gdy coś takiego jak nie łączyło się z VPN, niekontrolowanym procesem po stronie serwera. Czy może być coś brakuje w nagłówkach żądania lub w konfiguracji CORS?
Ed Meacham
1
jeśli tak jest, to czy nie powinienem uważać się za „złą prośbę”, „nieautoryzowany” czy coś podobnego?
Yahya Hussein,
1
W przypadku problemu z routingiem z pewnością otrzymasz 40x. Jeśli jest to problem z białą listą / VPN, powinieneś dostać 40x ... Nie mam pojęcia, jak usługa jest skonfigurowana, ale podczas korzystania z Postmana twoje zapytanie będzie pochodzić z innego źródła - więc potencjalny problem z białą listą . Powinieneś być w stanie wykonać podstawowe debugowanie po stronie serwera, aby zobaczyć, czy w ogóle dostajesz się do kontrolera dla swojego punktu końcowego ...
Ed Meacham
1
Rozumiem, jeśli jest to problem z białą listą, czy będzie działać dla localhost / api, a nie dla subdomain.localhost / api? nie, nie dostaje się do kontrolera
Yahya Hussein
1
Myślę, że wiele razy coś jest nie tak z aplikacją, a nie z Listonoszem. Debugowałem aplikację i sprawdziłem w oknie wyników w Visual Studio, i okazało się, że między moimi jednostkami były pętle referencyjne. Po tym, jak to naprawiłem, problem zniknął.
Desell

Odpowiedzi:

480

Najpierw przejdź do Ustawień w Listonoszu :

  1. Wyłączone z weryfikacji certyfikatu SSL w Walnym zakładce:

  2. Off w konfiguracji globalnej proxy i obsłudze system Proxy w zakładce Proxy:

  3. Producent Zapytanie Limit czasu do zera

Ramesh R.
źródło
Czy wykonałeś wszystkie kroki, Właśnie teraz zmodyfikowałem, że zadziałało dla mnie
Ramesh R
1
jeśli nie masz opcji ssl, musisz pobrać listonosza stąd: www.getpostman.com
Abdullah Tahan
14
Wyłączenie certyfikatu ssl zadziałało dla mnie
devcodes
4
Działa jak urok, ale mylę się, dlaczego zadziałało w przypadku kontroli jakości, ale nie w przypadku DEV. W każdym razie oba działają teraz dobrze. Dzięki jeszcze raz.
raja777m
26
Uwielbiam, w jaki sposób ta odpowiedź zyskuje tak wiele pozytywnych opinii, gdy dosłownie mówi ci to samo, co powiedział komunikat o błędzie.
georgiaboy82
224

Miałem ten sam problem. Spowodowane to było nową linią na końcu wartości nagłówka „Autoryzacja”, którą ustawiłem ręcznie, kopiując-wklejając token nośnika (który przypadkowo zawierał nową linię na końcu)

Cool.wen
źródło
14
To samo tutaj, mój był w niestandardowym nagłówku. Usunięto dodatkową nową linię, wszystko jest w porządku.
Xiao,
Nieco spokrewnione: moje żądania zostały zgrupowane w kolekcji, przy użyciu wspólnej zmiennej url dla wszystkich żądań. Przez przypadek usunąłem nazwę zmiennej (mimo że wartości adresu URL wciąż tam były) i otrzymałem błąd wymieniony w OP.
Jesuisme
3
Może się to zdarzyć w dowolnym nagłówku. Zdarzyło mi się z Cookienagłówkiem
Kerooker
4
To uratowało mi życie!
neeohw,
2
@Kerooker! Twój komentarz mnie uratował! To był wklejony klucz nagłówka, który miał dla mnie wiodące miejsce.
saml
56

Jeśli podczas wysyłania żądania pojawi się komunikat „Nie można uzyskać odpowiedzi” z rodzimych aplikacji Postman, otwórz Konsolę Listonosza (Widok> Pokaż konsolę Listonosza), ponownie wyślij żądanie i sprawdź, czy w konsoli nie ma żadnych dzienników błędów.

Dzięki numaanashraf

Złupić
źródło
4
Bardzo pomocne. Myślę, że musiałem wyłączyć certyfikaty ssl, ale dodałem zły nagłówek, a konsola przeliterowała to dla mnie.
MattC
2
To wskazało mi właściwy kierunek; w moim przypadku w dzienniku konsoli pojawił się o wiele wyraźniejszy błąd niż w przypadku Postmana: „Błąd: nieprawidłowy znak w treści nagłówka [„ Autoryzacja ”] Ostrzeżenie: To żądanie nie zostało całkowicie wysłane i może nie mieć wszystkich wymaganych nagłówków systemowych”.
Peter W
1
To powinna być zaakceptowana odpowiedź, ponieważ pomaga zrozumieć podstawową przyczynę, a nie tylko odgadnąć (np. „Nieprawidłowy znak w nagłówku”).
Aleksiej
17

Cześć Ten problem został dla mnie rozwiązany.

ustawienie -> ogólne -> Limit czasu żądania w ms = 0

Kishor Soneji
źródło
Możesz się śmiać, ale nowa wersja v7.17.0 miała to w 60... Gdybyś o tym nie wspomniał, nie szukałbym tam godzinami ... Dzięki!
Koshinae
Bum! To działało, czy mogę znać przyczynę tego?
Pardeep Jain
13

Jeśli wszystkie powyższe metody nie działają, sprawdź zmienne środowiskowe i upewnij się, że następujące środowiska nie są ustawione. Jeśli są ustawione i nie są potrzebne żadnej innej aplikacji, usuń je.

HTTP_PROXY
HTTPS_PROXY

Link referencyjny

arjuncc
źródło
2
Nie mogę uwierzyć, że nadal występuje w 2019 r. Co, jeśli moje inne aplikacje potrzebują tych parametrów env :(
thReality
6

Gdy pojawia się następujący błąd, wprowadź opis zdjęcia tutaj

musisz wykonać następujące czynności.

Krok 1: W Listonoszu kliknij ikonę klucza, przejdź do ustawień, a następnie przejdź do karty Proxy.

Krok 1 Ikona klucza> Ustawienia> Karta Proxy

Krok 2: Utwórz niestandardowego serwera proxy. W tym artykule wyjaśniono, jak utworzyć niestandardowy serwer proxy. Po utworzeniu niestandardowego serwera proxy upewnij się, że przycisk przełączania serwera proxy jest wyłączony. Wstawiłem 61095 dla serwera proxy i to zadziałało dla mnie.

wprowadź opis zdjęcia tutaj

Krok 3 :

Sukces

Sukces


źródło
4
Czy możesz wyjaśnić, dlaczego serwer proxy byłby potrzebny, aby uzyskać dostęp do serwera w sieci lokalnej, w której występuje ten problem?
robross0606
5

Wymyśliłem to rozwiązanie

  1. W listonoszu przejdź do ustawienia -> proxy
  2. I poza globalną konfiguracją proxy
  3. na Użyj systemowego serwera proxy wprowadź opis zdjęcia tutaj

  4. I przejdź do pliku konfiguracyjnego hosta systemu Windows „C: \ Windows \ System32 \ drivers \ etc \ hosts”

  5. Otwórz ten plik w trybie administratora
  6. I dodaj subdomenę do pliku hosts wprowadź opis zdjęcia tutaj
Rasika Weragoda
źródło
3

Dla mnie zadziałało dodanie 127.0.0.1 subdomain.localhostdo mojego pliku hosta. W OSX to był / etc / hosts. Nie jestem pewien, dlaczego było to konieczne, ponieważ mogłem dotrzeć do subdomeny z Chrome.

JSWilson
źródło
2
  1. W listonoszu przejdź do ustawienia -> proxy
  2. I poza globalną konfiguracją proxy

wprowadź opis zdjęcia tutaj

nthaih
źródło
1

Dla mnie była to trasa, do której dzwoniłem na serwerze węzłów, nic nie zwracając. Dodawanie

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

na trasę, do której dzwoniłem, rozwiązałem problem.

ContextSwitch
źródło
1

Wspomniałeś, że używasz certyfikatu CER.

Według strony Listonosza na certyfikatach.

Wybierz plik certyfikatu klienta w polu Plik CRT. Obecnie obsługujemy tylko format CRT. Obsługa innych formatów (takich jak PFX) będzie dostępna wkrótce.

Nazwa rozszerzenia CER, CRT nie czyni certyfikatu tego typu certyfikatem, ale są to wyjątki nazw rozszerzeń.

CER to certyfikat X.509 w formie binarnej, zakodowany w DER.

CRT to binarny certyfikat X.509, zamknięty w kodowaniu tekstowym (base-64).

Możesz użyć OpenSSL, aby zmienić plik CER na plik CRT. Nie miałem z tym szczęścia, ale tak to wygląda.

openssl x509 -inform PEM -w certyfikat.cer -out certyfikat.crt

lub

openssl x509 -inform DER -in certyfikat.cer -out certyfikat.crt

GeekMustHave
źródło
1

Żadne z tych rozwiązań nie działa dla mnie. Listonosz nie wysyła żadnych żądań do serwera, ponieważ listonosz nie znajduje hosta. Jeśli więc zmodyfikujesz / etc / hosts do 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

Mi to pasuje.

gsumk
źródło
1

Dla mnie problemem było to, że Content-Lengthbył za duży. Umieściłem zawartość ciała w NotePad ++, policzyłem znaki i wstawiłem tę postaćPostMan a potem zadziałało.

Wiem, że nie odpowiada bezpośrednio, dlaczego subdomena op nie działa, ale może komuś pomóc.

Darren Wood
źródło
Listonosz zwraca ten sam błąd, nawet jeśli wysyłasz nagłówek HTTP, content-encoding: gzipale treść nie jest gzipowana. Zobacz stackoverflow.com/a/52854400/2988107
Mišo
1

niewidoczne przestrzenie

W moim przypadku listonosz nie rozpoznał niewidocznych miejsc, powyższy ciąg tekstu renderuje się tak, jakby w listonoszu nie było spacji. Wyłączyłem certyfikat SSL Sprawdzanie poprawności i systemowy serwer proxy nawet próbowałem na rozszerzeniu listonosz chrome (który jest już przestarzały), ale kiedy pobrałem i wypróbowałem Insomnia i dało to te czerwone kropki w miejscu, w którym były te miejsca, musiało tam być podczas kopiowania /pasta

Yash Vardhan
źródło
1

Dla każdego, kto doświadczył tego problemu z prawdziwą domeną zamiast localhost i nie mógł rozwiązać go DOWOLNIE Z POWYŻEJ rozwiązań.

Spróbuj zmienić swój DNS sieci (WIFI lub LAN) na inny DNS. Dla mnie użyłem Google DNS 8.8.8.8, 8.8.4.4 i zadziałało!

wprowadź opis zdjęcia tutaj

Cuong Vu
źródło
1

rozwiązanie jest bardzo proste, jeśli używasz aplikacji asp.net core 2. Wewnątrz metody ConfigureServices w pliku startup.cs cała ta linia

services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
tapos ghosh
źródło
1

Musisz tylko włączyć SSL , aby wysłać zapytanie.

Serwer proxy i inni mają różne błędy.

Alireza Abdollahnejad
źródło
0

Po wszystkich powyższych metodach, takich jak WYŁĄCZANIE weryfikacji certyfikatu SSL, włączanie tylko użycia System Proxy i usuwanie systemowych zmiennych środowiskowych HTTP_PROXY i HTTPS_PROXY, zadziałało.

Uwaga: Musiałem ponownie uruchomić aplikację Postman, ponieważ zmienne środowiskowe zostały zmienione.

Sayantan Ganguly
źródło
0

Odznaczenie proxy i weryfikacji certyfikatu SSL nie działało dla mnie.

Rozbrojenie zmiennych środowiskowych PROXY załatwiło sprawę.

export http_proxy=
export ftp_proxy=
export https_proxy=

Przejdź do katalogu, w którym zainstalowany jest Postman, a następnie:

./Postman
Subramanian Sridharan
źródło
0

Listonosz dla Linuksa Wersja 6.7.1 - Ubuntu 18.04 - linux 4.15.0-43-generic / x64

Miałem ten sam problem i przez przypadek zastąpiłem http://localhostgo http://127.0.0.1i wszystko działało.

My etc/hostsmieliśmy właściwe wpisy dla localhosti https://localhostwnioski zawsze działa zgodnie z oczekiwaniami.

Nie mam pojęcia, dlaczego zmieniającą localhostdla httpz 127.0.0.1rozwiązał problem.

Harmlezz
źródło
0

W moim przypadku MVC nie było w stanie serializować wyników (przypadkowo użyłem modelu zamiast DTO). Debugowałem do podania prostego ciągu, który zadziałał. Gdy naprawiłem serializację, wszystko wyszło.

mgPePe
źródło
0

W moim przypadku (korporacyjny) serwer proxy używał samopodpisanego certyfikatu SSL, którego Postman nie lubił. Odkryłem to, aktywując Widok-> Pokaż konsolę Listonosza i ponawiając żądanie. Następnie konsola pokazała błąd certyfikatu. W Ustawieniach-> Ogólne wyłączyłem weryfikację certyfikatu SSL.

koljaTM
źródło
0

Rozwiązanie dla mnie, ponieważ używam przestarzałego Postmanrozszerzenia dla Chrome, aby rozwiązać ten problem, musiałem:

  1. Zadzwoń do jakiejś GETprośby za pomocąChrome samej przeglądarki.
  2. Poczekaj na stronę błędu „Twoje połączenie nie jest prywatne” .
  3. Kliknij, ADVANCEDa następnie proceed to [url] (unsafe)link.

Następnie żądania przez samo rozszerzenie powinny działać.

MightGod
źródło
0

W moim przypadku była to źle skonfigurowana podsieć. Działała tylko jedna z 2 podsieci w ELB.

Zrozumiałem to, wykonując nslookup i próbując zwinąć bezpośrednio zwrócone adresy IP. Tylko jeden działał. Listonosz wciąż używał źle skonfigurowanego.

M.Vanderlee
źródło
0

Miałem ten sam problem.

Okazało się, że mój limit czasu był zbyt niski. Zmieniłem go na 30 ms, myśląc, że to 30 sekund. Ustawiłem z powrotem na 0 i znów zaczęło działać.

Szymon
źródło
0

Mam ten sam problem „Nie można uzyskać odpowiedzi” z powodu złego parametru w nagłówku. Naprawiłem to, usuwając parametr HOST z nagłówka.

PS: Niestety zostałem zmuszony do zainstalowania innego oprogramowania, aby uzyskać te informacje. Powinno być wspaniale otrzymać ten komunikat o błędzie od Listonosza zamiast generalnych bzdur.

Michal Jurník
źródło
0

W moim przypadku zapomniałem ustawić wartość zmiennej w polu „CURRENT VALUE”.

Roman Grinyov
źródło
0

W moim przypadku problem polegał na tym, że w środowisku UAT URL interfejsu API zaczyna się od Http zamiast https . Ponadto backend przypisuje różne porty dla HTTP i https.

na przykład,

http://10.12.12.31:2001/api/example . - jest dla mnie poprawny

https://10.12.12.31:2002/api/example . - jest dla mnie niewłaściwy

Ponieważ korzystałem z portu https i 2002 w celu uzyskania dostępu do środowiska UAT. Dostaję więc błąd listonosza.

AnshulJS
źródło
0

Właśnie wystąpił ten błąd. W moim przypadku ścieżka była ZBYT DŁUGA. Więc taki adres URL dał mi ten błąd w listonoszu (fałszywy przykład)

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

natomiast

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

działało dobrze.

Mam nadzieję, że pomoże to komuś, kto przez przypadek przeczytał tak daleko ...

Alexander B.
źródło