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, j'obtiens 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 serveur fonctionne correctement
Les certificats SSL auto-signés sont en train d'être bloqués: corrigez cela en désactivant 'Vérification du certificat SSL' dans Paramètres> Général
Proxy configuré de manière incorrecte. Assurez-vous que le proxy est configuré correctement dans Réglages> Proxy
Délai d'expiration de la demande: modification du délai d'expiration de la demande dans Paramètres> Général
Si je copie la même adresse de postman et la colle dans le navigateur, je reçois une réponse appropriée. Existe-t-il une sorte de configuration à effectuer pour que postman fonctionne avec les sous-domaines?
J'ai eu le même problème. Cela était causé par un saut de 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 le nouveau trait à sa fin).
Si vous recevez un message "Impossible d'obtenir une réponse" des applications natives 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'erreur dans la console.
Merci à numaanashraf
Bonjour, ce problème est résolu pour moi.
setting -> general -> Requesttimeout en ms = 0
Pour moi, c'était le http: // localhost au lieu de https: // localhost .
En obtenant l'erreur suivante,
vous devez faire ce qui suit.
Étape 1: Dans Postman, cliquez sur l'icône représentant une clé, accédez aux paramètres, puis à l'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é, veillez à bien désactiver le bouton d'activation du proxy. J'ai mis 61095 pour le serveur proxy et cela a fonctionné pour moi.
Étape 3 :
Succès
Vous avez mentionné que vous utilisez un certificat CER.
Selon la page de Postman sur les certificats.
Choisissez votre fichier de certificat client dans le champ Fichier CRT. Actuellement, nous ne supportons que le format CRT. Le support pour d'autres formats (comme PFX) sera bientôt disponible.
Le nom de l'extension CER, CRT ne fait pas du certificat ce type de certificat mais ce sont les noms d'extensions exceptées.
CERest un certificat X.509 sous forme binaire, codé DER.
CRTest un certificat binaire X.509, encapsulé dans un codage texte (base 64).
Vous pouvez utiliser OpenSSL pour modifier 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
Je suis venu avec cette solution
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
par http://127.0.0.1
et tout a fonctionné.
Mon etc/hosts
avait les entrées appropriées pour les demandes localhost
et https://localhost
fonctionnait toujours comme prévu.
Je ne sais pas pourquoi changer localhost
pour http
avec 127.0.0.1
a résolu le problème.
Je faisais également face au même problème, mais une ligne supplémentaire a été ajoutée par erreur lors de la copie du jeton d'authentification. Supprimer la ligne supplémentaire a fonctionné pour moi ..
Désélectionner proxy et vérification de certificat SSL ne fonctionnait pas pour moi.
Désactiver les variables d'environnement PROXY a fait l'affaire.
export http_proxy=
export ftp_proxy=
export https_proxy=
Allez dans le répertoire où Postman est installé, puis:
./Postman
Dans mon cas, MVC n'a pas pu sérialiser les résultats (j'ai utilisé accidentellement un modèle au lieu de DTO). J'ai débogué en passant une chaîne simple, qui a fonctionné. Une fois que j'ai corrigé la sérialisation, tout est arrivé.
Après toutes les méthodes ci-dessus, telles que désactiver la vérification du certificat SSL, activer uniquement l'utilisation du proxy système et supprimer les variables d'environnement système HTTP_PROXY et HTTPS_PROXY, cela a fonctionné.
Remarque: Il a fallu redémarrer l'application Postman, car les variables d'environnement ont été modifiées.
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 accéder au sous-domaine en chrome.
Pour moi, le problème était que le Content-Length
était trop gros. J'ai placé le contenu du corps dans NotePad ++ et compté les caractères et mis ce chiffre dans PostMan
et ensuite cela a fonctionné.
Je sais que cela ne répond pas directement à la raison pour laquelle le sous-domaine de l'op ne fonctionnait pas, mais cela pourrait aider quelqu'un.
Dans mon cas, ce sont des espaces invisibles que postier n'a pas reconnus. La chaîne de texte ci-dessus est restituée sans espaces dans postman. J'ai désactivé la validation du certificat SSL et le proxy système même essayé sur l'extension postman chrome (qui est sur le point d'être obsolète), mais lorsque j'ai téléchargé et essayé Insomnia , il a donné ces points rouges à l'endroit où se trouvaient ces espaces doit avoir été atteint pendant le copier/coller
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
Référence link
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.
Pour moi, c’est cette route que j’appelais sur mon serveur de noeud qui ne retournait rien. Ajouter
return res.status(200).json({
message: 'success!',
response: 'success!'
});//
à la route que j'appelais résolvait le problème.