Réponse «Impossible d'obtenir une réponse» lors de l'utilisation de postman avec un sous-domaine

223

J'utilise postman pour tester une API que j'ai, tout va bien lorsque la demande ne contient pas de sous-domaine, mais lorsque j'ajoute un sous-domaine à l'URL, je reçois cette réponse.

Impossible d'obtenir une réponse

Une erreur s'est produite lors de la connexion à http: //subdomain.localhost: port / api /

Pourquoi cela aurait pu arriver:

Le serveur n'a pas pu envoyer de réponse: assurez-vous que le backend fonctionne correctement

Les certificats SSL auto-signés sont bloqués: corrigez cela en désactivant la «vérification du certificat SSL» dans Paramètres> Général

Proxy mal configuré Assurez-vous que le proxy est correctement configuré dans Paramètres> Proxy

Délai d'expiration de la demande: modifier le délai d'expiration de la demande dans Paramètres> Général

Si je copie la même URL de postman et la colle dans le navigateur, j'obtiens une réponse appropriée, y a-t-il une sorte de configuration que je dois faire pour que postman fonctionne avec des sous-domaines?

Yahya Hussein
la source
1
J'ai principalement rencontré des problèmes de dépassement de délai lorsqu'il y avait quelque chose comme ne pas être connecté à un VPN, un processus galopant côté serveur. Pourrait-il y avoir quelque chose manquant dans vos en-têtes de demande, ou la configuration CORS?
Ed Meacham
1
si tel est le cas, ne devrais-je pas obtenir comme "mauvaise demande", "non autorisée" ou quelque chose de similaire?
Yahya Hussein
1
Pour un problème de routage, vous obtiendrez certainement un 40x. S'il s'agit d'un problème de liste blanche / VPN, vous devriez également obtenir un 40x ... Je ne sais pas comment le service est configuré, mais lorsque vous utilisez Postman, votre demande proviendra d'une origine différente - donc, un problème potentiel de liste blanche . Vous devriez être en mesure de faire un débogage de base côté serveur pour voir si vous arrivez même au contrôleur pour votre point de terminaison ...
Ed Meacham
1
Je vois, s'il s'agit d'un problème de liste blanche, cela fonctionnera-t-il pour localhost / api et non pour subdomain.localhost / api? non, il ne parvient pas au contrôleur
Yahya Hussein
1
Je pense que la plupart du temps, il y a un problème avec l'application et non avec Postman. J'ai débogué mon application et vérifié dans la fenêtre de sortie dans Visual Studio, et découvert qu'il y avait des boucles de référence entre mes entités. Après avoir résolu ce problème, le problème avait disparu.
Desell

Réponses:

480

Allez d'abord dans Paramètres dans Postman :

  1. Désactiver la vérification du certificat SSL dans l' onglet Général :

  2. Désactiver la configuration globale du proxy et utiliser le proxy système dans l'onglet Proxy:

  3. Rendre le délai de demande à zéro

Ramesh R
la source
Avez-vous suivi toutes les étapes, je viens de le modifier, cela a fonctionné pour moi
Ramesh R
1
si vous n'avez pas l'option ssl, vous devez télécharger postman à partir d'ici: www.getpostman.com
Abdullah Tahan
14
Désactiver la certification SSL a fonctionné pour moi
devcodes
4
Cela a fonctionné comme un charme, mais ma confusion est, pourquoi cela a-t-il fonctionné pour QA, mais pas pour DEV. Quoi qu'il en soit, les deux fonctionnent bien maintenant. Merci encore.
raja777m
26
J'adore la façon dont cette réponse obtient autant de votes positifs lorsqu'elle vous dit littéralement les mêmes choses que le message d'erreur a dit de faire.
georgiaboy82
224

J'ai eu le même problème. Cela était dû à une nouvelle ligne à la fin de la valeur de l'en-tête "Autorisation", que j'avais définie manuellement en copiant-collant le jeton du porteur (qui contenait accidentellement la nouvelle ligne à sa fin)

Cool.wen
la source
14
Même chose ici, la mienne était sur un en-tête personnalisé. Suppression de la nouvelle ligne supplémentaire, tout va bien.
Xiao
Assez lié: mes demandes étaient regroupées dans une collection, en utilisant une variable d'URL commune à toutes les demandes. J'ai accidentellement effacé le nom de la variable (même si les valeurs d'URL étaient toujours là) et j'ai eu l'erreur mentionnée dans l'OP.
Jesuisme
3
Cela peut se produire sur n'importe quel en-tête. Cookie
Cela
4
Cela m'a sauvé la vie!
neeohw
2
@Kerooker! Votre commentaire m'a sauvé! C'était une clé d'en-tête copiée qui avait un espace de tête pour moi.
saml
56

Si vous obtenez un message "Impossible d'obtenir une réponse" des applications natives de Postman lors de l'envoi de votre demande, ouvrez la console Postman (Affichage> Afficher la console Postman), renvoyez la demande et recherchez les journaux d'erreurs dans la console.

Merci à numaanashraf

Harry
la source
4
Très utile. Je pense que je devais désactiver les certificats SSL, mais j'avais ajouté un mauvais en-tête, et la console l'a expliqué pour moi.
MattC
2
Cela m'a orienté dans la bonne direction; dans mon cas, le journal de la console a donné une erreur beaucoup plus claire que Postman: "Erreur: caractère non valide dans le contenu de l'en-tête [" Autorisation "]
Peter W
1
Cela devrait être la réponse acceptée car elle vous aide à comprendre la cause sous-jacente et pas seulement à la deviner (par exemple, "caractère invalide dans l'en-tête").
Alexei
17

Salut Ce problème est résolu pour moi.

réglage -> général -> Requesttimeout en ms = 0

kishor soneji
la source
Vous pouvez rire, mais une nouvelle installation de v7.17.0 avait ceci à 60... Si vous ne l'aviez pas mentionné, je n'y regarderais pas pendant des heures ... Merci!
Koshinae
Boom! Cela a fonctionné, puis-je connaître la raison derrière cela?
Pardeep Jain
13

Si toutes les méthodes ci-dessus ne fonctionnent pas, vérifiez vos variables d'environnement, et assurez-vous que les environnements suivants ne sont pas définis. Si ceux-ci sont définis et ne sont nécessaires à aucune autre application, supprimez-les.

HTTP_PROXY
HTTPS_PROXY

Lien de référence

arjuncc
la source
2
Je ne peux pas croire que cela se produise toujours en 2019.Et si mes autres applications ont besoin de ces paramètres env :(
thReality
6

Lorsque vous obtenez l'erreur suivante, entrez la description de l'image ici

vous devez effectuer les opérations suivantes.

Étape 1: Dans Postman, cliquez sur l'icône de la clé, accédez aux paramètres, puis accédez à l'onglet Proxy.

Étape 1 Icône de clé> Paramètres> Onglet Proxy

Étape 2: créez un proxy personnalisé. Cet article explique comment créer un proxy personnalisé. Après avoir créé le proxy personnalisé, assurez-vous de désactiver le bouton bascule du proxy. J'ai mis 61095 pour le serveur proxy et cela a fonctionné pour moi.

entrez la description de l'image ici

Étape 3 :

Succès

Succès


la source
4
Pouvez-vous expliquer pourquoi un proxy serait nécessaire pour accéder à un serveur du réseau local qui rencontre ce problème?
robross0606
5

Je suis venu avec cette solution

  1. Dans Postman, allez dans Paramètres -> Proxy
  2. Et hors configuration du proxy global
  3. sur l'utilisation du proxy système entrez la description de l'image ici

  4. Et allez dans le fichier de configuration de l'hôte Windows 'C: \ Windows \ System32 \ drivers \ etc \ hosts'

  5. Ouvrez ce fichier en mode administrateur
  6. Et ajoutez le sous-domaine au fichier hosts entrez la description de l'image ici
Rasika Weragoda
la source
3

Pour moi, ce qui a fonctionné a été d'ajouter 127.0.0.1 subdomain.localhostà mon fichier hôte. Sur OSX, c'était / etc / hosts. Je ne sais pas pourquoi cela était nécessaire car je pouvais atteindre le sous-domaine à partir de Chrome.

JSWilson
la source
2
  1. Dans Postman, allez dans Paramètres -> Proxy
  2. Et hors configuration du proxy global

entrez la description de l'image ici

nthaih
la source
1

Pour moi, c'est cette route que j'appelais sur mon serveur de noeud qui ne renvoyait rien. Ajouter

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

à l'itinéraire que j'appelais a résolu le problème.

Changement de contexte
la source
1

Vous avez mentionné que vous utilisez un certificat CER.

Selon la page du facteur sur les certificats.

Choisissez votre fichier de certificat client dans le champ du fichier CRT. Actuellement, nous ne prenons en charge que le format CRT. La prise en charge d'autres formats (comme PFX) arrivera bientôt.

Le nom de l'extension CER, CRT ne fait pas du certificat ce type de certificat mais, ce sont les noms d'extensions exceptés.

CER est un certificat X.509 sous forme binaire, codé DER.

CRT est un certificat binaire X.509, encapsulé dans le codage texte (base-64).

Vous pouvez utiliser OpenSSL pour changer un fichier CER en un fichier CRT. Je n'ai pas eu de chance avec ça mais ça ressemble à ça.

openssl x509 -inform PEM -in certificate.cer -out certificate.crt

ou

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

GeekMustHave
la source
1

Aucune de ces solutions ne fonctionne pour moi. Postman n'envoie aucune demande au serveur car Postman ne trouve pas l'hôte. Donc, si vous modifiez votre / etc / hosts en 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

Ça marche pour moi.

gsumk
la source
1

Pour moi, le problème était que Content-Lengthc'était trop grand. J'ai placé le contenu du corps dans NotePad ++ et j'ai compté les caractères et mis ce chiffre PostMan, puis cela a fonctionné.

Je sais que cela ne répond pas directement pourquoi le sous-domaine de l'op ne fonctionnait pas, mais cela pourrait aider quelqu'un.

Darren Wood
la source
Le facteur renvoie la même erreur même si vous envoyez un en-tête HTTP content-encoding: gzipmais que le contenu n'est pas compressé. Voir stackoverflow.com/a/52854400/2988107
Mišo
1

espaces invisibles

Dans mon cas, il s'agissait d'espaces invisibles que le facteur ne reconnaissait pas, la chaîne de texte ci-dessus s'affiche comme sans espaces dans le facteur. J'ai désactivé la validation du certificat SSL et le proxy système, même essayé sur l'extension chrome postman (qui est sur le point d'être obsolète), mais quand j'ai téléchargé et essayé Insomnia et qu'il a donné ces points rouges à l'endroit où se trouvaient ces espaces, doit y être arrivé pendant la copie /pâte

Yash Vardhan
la source
1

Pour tous ceux qui ont connu ce problème avec domaine réel au lieu de localhost et n'a pas pu le résoudre en utilisant l' une de ces solutions.

Essayez de changer votre DNS réseau (WIFI ou LAN) en un autre DNS. Pour moi, j'ai utilisé Google DNS 8.8.8.8, 8.8.4.4 et cela a fonctionné!

entrez la description de l'image ici

Cuong Vu
la source
1

La solution est très simple si vous utilisez l'application asp.net core 2. A l'intérieur de la méthode ConfigureServices à l' intérieur du fichier startup.cs toute cette ligne

services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
tapos ghosh
la source
1

Il vous suffit de désactiver SSL pour envoyer votre demande.

Le proxy et d'autres sont accompagnés de diverses erreurs.

Alireza Abdollahnejad
la source
0

Après toutes les méthodes ci-dessus, comme désactiver la vérification du certificat SSL, activer uniquement Utiliser le proxy système et supprimer les variables d'environnement système HTTP_PROXY et HTTPS_PROXY, cela a fonctionné.

Remarque: J'ai dû redémarrer l'application Postman, car les variables d'environnement ont été modifiées.

Sayantan Ganguly
la source
0

La décoche du proxy et de la vérification du certificat SSL n'a pas fonctionné pour moi.

La suppression des variables d'environnement PROXY a fait l'affaire.

export http_proxy=
export ftp_proxy=
export https_proxy=

Accédez au répertoire dans lequel Postman est installé, puis:

./Postman
Subramanian Sridharan
la source
0

Postman pour Linux version 6.7.1 - Ubuntu 18.04 - linux 4.15.0-43-generic / x64

J'ai eu le même problème et par hasard j'ai remplacé http://localhost avec http://127.0.0.1et tout fonctionnait.

ma etc/hosts avait les entrées appropriées localhostet les https://localhostdemandes ont toujours fonctionné comme prévu.

Je n'ai aucune idée pourquoi changer localhostpour httpde 127.0.0.1résoudre la question.

Harmlezz
la source
0

Dans mon cas, MVC n'a pas pu sérialiser les résultats (j'ai accidentellement utilisé un modèle au lieu de DTO). J'ai mis au point pour passer une chaîne simple, qui a fonctionné. Une fois que j'ai corrigé la sérialisation, tout est venu.

mgPePe
la source
0

Dans mon cas, le proxy (d'entreprise) utilisait un certificat SSL auto-signé que Postman n'aimait pas. Je l'ai découvert en activant View-> Show Postman console et en réessayant la demande. La console a ensuite montré l'erreur de certificat. Dans Paramètres-> Général, j'ai désactivé la vérification du certificat SSL.

koljaTM
la source
0

La solution pour moi, car j'utilise l' Postmanextension obsolète pour Chrome, pour résoudre ce problème, j'ai dû:

  1. Appelez une GETdemande en utilisant le Chromenavigateur lui-même.
  2. Attendez que la page d'erreur «Votre connexion n'est pas privée» s'affiche.
  3. Cliquez sur ADVANCEDpuis sur le proceed to [url] (unsafe)lien.

Après cela, les demandes via l'extension elle-même devraient fonctionner.

MightGod
la source
0

Dans mon cas, c'était un sous-réseau mal configuré. Un seul des 2 sous-réseaux de l'ELB a fonctionné.

J'ai compris cela en faisant un nslookup et en essayant de boucler directement les IP retournées. Un seul a fonctionné. Le facteur a continué à utiliser celui qui était mal configuré.

M.Vanderlee
la source
0

J'ai eu le même problème.

Il s'est avéré que mon délai d'attente était trop bas. Je l'ai changé à 30 ms en pensant que c'était 30 secondes. Je l'ai remis à 0 et il a recommencé à fonctionner.

Simon
la source
0

J'ai le même problème "Impossible d'obtenir une réponse" en raison d'un paramètre incorrect dans l'en-tête. Je l'ai corrigé en supprimant le paramètre HOST de l'en-tête.

PS: Malheureusement, j'ai été poussé à installer les autres logiciels pour obtenir ces informations. Il devrait être formidable d'obtenir ce message d'erreur de Postman au lieu d'obtenir un non-sens général.

Michal Jurník
la source
0

Dans mon cas, j'ai oublié de définir la valeur de la variable dans le champ "VALEUR ACTUELLE".

Roman Grinyov
la source
0

Dans mon cas, le problème était que pour l' environnement UAT , l'URL de l'API commencera par Http au lieu de https . En outre, le backend attribue différents ports pour Http et https.

par exemple,

http://10.12.12.31:2001/api/example . - est correct pour moi

https://10.12.12.31:2002/api/example . - c'est mal pour moi

Parce que j'utilisais https et le port 2002 pour frapper l'environnement UAT. Je reçois donc je n'ai pas pu obtenir d' erreur de réponse dans le facteur.

AnshulJS
la source
0

Je viens de rencontrer cette erreur. Dans mon cas, le chemin était TROP LONG. Donc, une URL comme ça m'a donné cette erreur dans le facteur (faux exemple)

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

tandis que

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

a bien fonctionné.

J'espère que cela aide quelqu'un qui a accidentellement lu jusqu'ici ...

Alexander B.
la source