Respuesta "No se pudo obtener ninguna respuesta" al utilizar cartero con subdominio


223

Estoy usando cartero para probar una API que tengo, todo está bien cuando la solicitud no contiene subdominio, sin embargo, cuando agrego un subdominio a la URL obtengo esta respuesta.

No se pudo obtener ninguna respuesta

Se produjo un error al conectarse a http: //subdomain.localhost: port / api /

Por qué pudo haber sucedido esto:

El servidor no pudo enviar una respuesta: asegúrese de que el servidor esté funcionando correctamente

Se están bloqueando los certificados SSL autofirmados: solucione esto desactivando 'Verificación de certificado SSL' en Configuración> General

Proxy configurado incorrectamente Asegúrese de que el proxy esté configurado correctamente en Configuración> Proxy

Tiempo de espera de solicitud: cambie el tiempo de espera de solicitud en Configuración> General

Si copio la misma URL del cartero y la pego en el navegador obtengo una respuesta adecuada, ¿hay algún tipo de configuración que deba hacer para que el cartero funcione con subdominios?


1
Principalmente me he encontrado con problemas de tiempo de espera cuando había algo como no estar conectado a una VPN, un proceso fuera de control del lado del servidor. ¿Podría faltar algo en sus encabezados de solicitud o en la configuración de CORS?
Ed Meacham

1
Si este es el caso, ¿no debería obtener una "solicitud incorrecta", "no autorizada" o algo similar?
Yahya Hussein

1
Para un problema de enrutamiento, definitivamente obtendrás un 40x. Si se trata de un problema de la lista blanca / VPN, también debería obtener un 40x ... No tengo idea de cómo está configurado el servicio, pero cuando use Postman, su solicitud vendrá de un origen diferente, por lo tanto, un posible problema de la lista blanca . Debería poder realizar una depuración básica en el lado del servidor para ver si incluso está llegando al controlador para su punto final ...
Ed Meacham

1
Ya veo, si es un problema de la lista blanca, ¿funcionará para localhost / api y no para subdominio.localhost / api? no, no está llegando al controlador
Yahya Hussein

1
Creo que muchas veces hay algo mal con la aplicación y no con Postman. Depuré mi aplicación y verifiqué en la ventana de salida en Visual Studio, y descubrí que había bucles de referencia entre mis entidades. Después de arreglar esto, el problema desapareció.
Desell

Respuestas:


480

Primero vaya a Configuración en Cartero :

  1. Fuera de la verificación del certificado SSL en la pestaña General :

  2. Fuera de la configuración de proxy global y usar el proxy del sistema en la pestaña Proxy:

  3. Hacer que el tiempo de espera de solicitud sea cero


¿Has seguido todos los pasos? Justo ahora lo modifiqué, funcionó para mí
Ramesh R

1
si no tiene la opción de SSL, debe descargar cartero desde aquí: www.getpostman.com
Abdullah Tahan

14
Simplemente desactivar la certificación SSL funcionó para mí
devcodes

44
Funcionó de maravilla, pero mi confusión es, ¿por qué funcionó para QA, pero no para DEV? De todos modos, ambos funcionan bien ahora. Gracias de nuevo.
raja777m

26
Me encanta cómo esta respuesta recibe tantos votos positivos cuando literalmente te dice las mismas cosas que el mensaje de error dijo que hiciera.
georgiaboy82

224

Tuve el mismo problema. Fue causado por una nueva línea al final del valor del encabezado "Autorización", que configuré manualmente al copiar y pegar el token del portador (que accidentalmente contenía la nueva línea al final)


14
Lo mismo aquí, el mío estaba en un encabezado personalizado. Se eliminó la nueva línea adicional, todo está bien.
Xiao

Algo relacionado: tenía mis solicitudes agrupadas en una colección, usando una variable de URL común en todas las solicitudes. Accidentalmente borré el nombre de la variable (a pesar de que los valores de la URL todavía estaban allí) y obtuve el error mencionado en el OP.
Jesuisme

3
Esto puede suceder en cualquier encabezado. Me pasó con Cookieencabezado
Kerooker

44
Esto me salvó la vida!
neeohw

2
@Kerooker! ¡Tu comentario es lo que me salvó! Era una clave de encabezado copiado que tenía un espacio para mí.
saml

56

Si recibe un mensaje de "No se pudo obtener ninguna respuesta" de las aplicaciones nativas de Postman al enviar su solicitud, abra la Consola de Postman (Ver> Mostrar consola de Postman), vuelva a enviar la solicitud y verifique si hay registros de errores en la consola.

Gracias a numaanashraf


44
Muy útil. Creo que necesitaba deshabilitar los certificados SSL, pero había agregado un encabezado incorrecto y la consola me lo explicó.
MattC

2
Esto me señaló en la dirección correcta; en mi caso, el registro de la consola dio un error mucho más claro que Postman: "Error: Carácter no válido en el contenido del encabezado [" Autorización "] Advertencia: Esta solicitud no se envió por completo y podría no tener todos los encabezados del sistema necesarios".
Peter W

1
Esta debería ser la respuesta aceptada, ya que le ayuda a comprender la causa subyacente y no solo a adivinarla (por ejemplo, "carácter no válido en el encabezado").
Alexei

17

Hola, este problema está resuelto para mí.

configuración -> general -> Requesttimeout en ms = 0


Puede reírse, pero una nueva instalación de v7.17.0 tenía esto en 60... Si no lo hubiera mencionado, no miraría allí por horas ... ¡Gracias!
Koshinae

¡Auge! Eso funcionó, ¿puedo saber la razón detrás de esto?
Pardeep Jain

13

Si todos los métodos anteriores no funcionan, verifique las variables de entorno y asegúrese de que los siguientes entornos no estén configurados. Si están configurados y ninguna otra aplicación los necesita, elimínelos.

HTTP_PROXY
HTTPS_PROXY

Enlace de referencia


2
No puedo creer que todavía ocurra en 2019. ¿Qué pasa si mis otras aplicaciones necesitan esos parámetros de
entorno?:


6

Al obtener el siguiente error, ingrese la descripción de la imagen aquí

necesitas hacer lo siguiente.

Paso 1: en Cartero, haga clic en el icono de llave inglesa, vaya a configuración y luego vaya a la pestaña Proxy.

Paso 1 Icono de llave inglesa> Configuración> Pestaña Proxy

Paso 2: crea un Proxy personalizado. Este artículo explica cómo crear un proxy personalizado. Después de crear el Proxy personalizado, asegúrese de desactivar el botón de alternancia Proxy. Puse 61095 para el servidor proxy y funcionó para mí.

ingrese la descripción de la imagen aquí

Paso 3 :

Éxito

Éxito


44
¿Puede explicar por qué sería necesario un Proxy para acceder a un servidor en la red local que tiene este problema?
robross0606

5

Se me ocurrió esta solución

  1. En cartero, vaya a configuración -> proxy
  2. Y fuera de la configuración de proxy global
  3. sobre el uso del proxy del sistema ingrese la descripción de la imagen aquí

  4. Y vaya al archivo de configuración del host de Windows 'C: \ Windows \ System32 \ drivers \ etc \ hosts'

  5. Abra ese archivo en modo administrador
  6. Y agregue el subdominio al archivo hosts ingrese la descripción de la imagen aquí

3

Para mí, lo que funcionó fue agregar 127.0.0.1 subdomain.localhosta mi archivo de host. En OSX que era / etc / hosts. No estoy seguro de por qué eso era necesario, ya que podía llegar al subdominio desde Chrome.


2
  1. En cartero, vaya a configuración -> proxy
  2. Y fuera de la configuración de proxy global

ingrese la descripción de la imagen aquí


1

Para mí, era esa ruta a la que estaba llamando en mi servidor de nodos que no devolvía nada. Agregando

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

a la ruta que estaba llamando resolvió el problema.


1

Usted mencionó que está utilizando un certificado CER.

Según la página del cartero en certificados.

Elija su archivo de certificado de cliente en el campo de archivo CRT. Actualmente, solo admitimos el formato CRT. La compatibilidad con otros formatos (como PFX) llegará pronto.

El nombre de la extensión CER, CRT no hace que el certificado sea ese tipo de certificado, pero estos son los nombres de extensiones exceptuados.

CER es un certificado X.509 en forma binaria, codificado DER.

CRT es un certificado binario X.509, encapsulado en codificación de texto (base-64).

Puede usar OpenSSL para cambiar un archivo CER a un archivo CRT. No he tenido buena suerte con eso, pero se ve así.

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

o

openssl x509 -informar DER -en certificado.cer -out certificado.crt


1

Ninguna de estas soluciones funciona para mí. El cartero no envía ninguna solicitud al servidor porque el cartero no encuentra el host. Entonces, si modifica su / etc / hosts a 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

Esto funciona para mi.


1

Para mí, el problema era que Content-Lengthera demasiado grande. Puse el contenido del cuerpo en NotePad ++ y conté los caracteres y puse esa figura PostMany luego funcionó.

Sé que no responde directamente por qué el subdominio del operador no funcionaba, pero podría ayudar a alguien.


El cartero devuelve el mismo error incluso si envía un encabezado HTTP content-encoding: gzippero el contenido no está comprimido. Ver stackoverflow.com/a/52854400/2988107
Mišo

1

espacios invisibles

En mi caso, los espacios invisibles que el cartero no reconoció, la cadena de texto anterior se muestra como sin espacios en el cartero. Deshabilité la validación de certificados SSL y el proxy del sistema incluso probé la extensión Chrome de cartero (que está a punto de desaprobarse), pero cuando descargué e intenté Insomnia y me dio esos puntos rojos en el lugar donde estaban esos espacios, debe haber llegado allí durante la copia /pegar


1

Para cualquiera que haya experimentado este problema con un dominio real en lugar de localhost y no pueda resolverlo utilizando CUALQUIERA DE LAS SOLUCIONES ANTERIORES .

Intente cambiar su DNS de red (WIFI o LAN) a otro DNS. Para mí, utilicé Google DNS 8.8.8.8, 8.8.4.4 y funcionó.

ingrese la descripción de la imagen aquí


1

La solución es muy simple si está utilizando la aplicación asp.net core 2. Dentro del método ConfigureServices dentro del archivo startup.cs toda esta línea

services.AddMvc()
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                .AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);


0

Después de todos los métodos anteriores, como desactivar la verificación del certificado SSL, activar solo el uso del proxy del sistema y eliminar las variables de entorno del sistema HTTP_PROXY y HTTPS_PROXY, funcionó.

Nota: Tuve que reiniciar la aplicación Postman, ya que se modificaron las variables de entorno.


0

Desmarcar el proxy y la verificación del certificado SSL no funcionó para mí.

Desarmar variables de entorno PROXY hizo el truco.

export http_proxy=
export ftp_proxy=
export https_proxy=

Cambie al directorio donde está instalado Postman y luego:

./Postman

0

Cartero para Linux versión 6.7.1 - Ubuntu 18.04 - linux 4.15.0-43-generic / x64

Yo tenía el mismo problema y por casualidad he sustituido http://localhostcon http://127.0.0.1y todo funcionaba.

Mi etc/hoststenía las entradas adecuadas localhosty las https://localhostsolicitudes siempre funcionaron como se esperaba.

No tengo ni idea de por qué cambiar localhostpara httpcon 127.0.0.1solucionado el problema.


0

En mi caso, MVC no pudo serializar los resultados (accidentalmente usé un modelo en lugar de DTO). Me depuré para pasar una cadena simple, que funcionó. Una vez que arreglé la serialización, todo surgió.


0

En mi caso, el proxy (corporativo) estaba usando un certificado SSL autofirmado que a Postman no le gustaba. Lo descubrí activando View-> Show Postman console y volviendo a intentar la solicitud. La consola luego mostró el error de certificado. En Configuración-> General, deshabilité la verificación del certificado SSL.


0

La solución para mí, ya que estoy usando la Postmanextensión en desuso para Chromeresolver este problema, tenía que:

  1. Llame alguna GETsolicitud utilizando el Chromenavegador en sí.
  2. Espere a que aparezca la página de error "Su conexión no es privada" .
  3. Haga clic en ADVANCEDy luego proceed to [url] (unsafe)enlace.

Después de esto, las solicitudes a través de la extensión misma deberían funcionar.


0

En mi caso, era una subred mal configurada. Solo una de las 2 subredes en el ELB funcionó.

Lo descubrí haciendo un nslookup e intentando enroscar las IP devueltas directamente. Solo uno funcionó. El cartero siguió usando el mal configurado.


0

Tuve el mismo problema.

Resultó que mi tiempo de espera estaba demasiado bajo. Lo cambié a 30 ms pensando que eran 30 segundos. Lo configuré de nuevo en 0 y comenzó a funcionar nuevamente.


0

Obtuve el mismo problema "No se pudo obtener ninguna respuesta" debido a un parámetro incorrecto en el encabezado. Lo arreglé eliminando el parámetro HOST del encabezado.

PD: Desafortunadamente, me presionaron para instalar el otro software para obtener esta información. Debería ser genial recibir este mensaje de error de Postman en lugar de obtener tonterías generales.


0

En mi caso, olvidé establecer el valor de la variable en el campo "VALOR ACTUAL".


0

En mi caso, el problema era que para el entorno UAT , la URL de la API comenzaría con Http en lugar de https . Además, el backend asigna diferentes puertos para Http y https.

por ejemplo,

http://10.12.12.31:2001/api/example . - es correcto para mi

https://10.12.12.31:2002/api/example . - esta mal para mi

Porque estaba usando https y el puerto 2002 para golpear el entorno UAT. Así que estoy obteniendo no se pudo obtener ningún error de respuesta en cartero.


0

Acabo de experimentar este error. En mi caso, el camino era DEMASIADO LARGO. Entonces, una URL como esa me dio este error en cartero (ejemplo falso)

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

mientras

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

funcionó bien

Espero que ayude a alguien que por accidente leyó tan lejos ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.