Resposta "Não foi possível obter resposta" ao usar o carteiro com subdomínio


223

Estou usando o carteiro para testar uma API que tenho, tudo é bom quando a solicitação não contém subdomínio, no entanto, quando adiciono um subdomínio ao URL, estou recebendo essa resposta.

Não foi possível obter resposta

Ocorreu um erro ao conectar-se a http: //subdomain.localhost: port / api /

Por que isso pode ter acontecido:

O servidor não pôde enviar uma resposta: Verifique se o back-end está funcionando corretamente

Os certificados SSL autoassinados estão sendo bloqueados: corrija isso desativando a 'Verificação de certificado SSL' em Configurações> Geral

Proxy configurado incorretamente Verifique se o proxy está configurado corretamente em Configurações> Proxy

Tempo limite da solicitação: altere o tempo limite da solicitação em Configurações> Geral

Se eu copiar o mesmo URL do postman e colá-lo no navegador, recebo uma resposta adequada, há algum tipo de configuração que devo fazer para fazer o postman funcionar com subdomínios?


1
Eu lidei principalmente com problemas de tempo limite quando havia algo como não estar conectado a uma VPN, um processo descontrolado do lado do servidor. Pode haver algo faltando nos cabeçalhos de sua solicitação ou na configuração do CORS?
EdMeacham

1
se for esse o caso, não devo ficar como "solicitação ruim", "não autorizada" ou algo semelhante?
Yahya Hussein

1
Para um problema de roteamento, você definitivamente obteria um 40x. Se for um problema de lista de desbloqueio / VPN, você também deve obter 40x ... Não tenho idéia de como o serviço está configurado, mas ao usar o Postman, sua solicitação será proveniente de uma origem diferente - portanto, um possível problema de lista de desbloqueio . Você deve ser capaz de fazer alguma depuração básica no lado do servidor para ver se você está mesmo ficando para o controlador para o seu ponto final ...
Ed Meacham

1
Entendo, se for um problema da lista branca, funcionará para localhost / api e não para subdomínio.localhost / api? não, não está ficando para o controlador
Yahya Hussein

1
Acho que muitas vezes há algo errado com o aplicativo e não o Postman. Depurei meu aplicativo e verifiquei na janela de saída no Visual Studio e descobri que havia loops de referência entre minhas entidades. Depois de corrigir isso, o problema desapareceu.
Desell 01/03/19

Respostas:


480

Primeiro, vá para Configurações no Postman :

  1. Desative a verificação do certificado SSL na guia Geral :

  2. Desativar a configuração global de proxy e usar o proxy do sistema na guia proxy:

  3. Fazer com que o tempo limite da solicitação seja zero


Você seguiu todas as etapas, só agora eu modificado ele trabalhou para mim
Ramesh R

1
se você não tiver a opção ssl, faça o download do carteiro aqui: www.getpostman.com
Abdullah Tahan 10/10

14
Apenas desligar a certificação SSL funcionou para mim
devcodes

4
Funcionou como um encanto, mas minha confusão é: por que funcionou no controle de qualidade, mas não no DEV. De qualquer forma, os dois funcionam bem agora. Obrigado novamente.
raja777m

26
Eu amo como essa resposta recebe tantas críticas positivas quando literalmente diz as mesmas coisas que a mensagem de erro dizia.
georgiaboy82

224

Eu tive o mesmo problema. Isso foi causado por uma nova linha no final do valor do cabeçalho "Authorization", que eu havia definido manualmente ao colar e copiar o token do portador (que acidentalmente continha a nova linha no final)


14
O mesmo aqui, o meu estava em um cabeçalho personalizado. Removida a nova linha extra, está tudo bem.
Xiao

Um pouco relacionado: eu tinha minhas solicitações agrupadas em uma coleção, usando uma variável de URL comum em todas as solicitações. Apaguei acidentalmente o nome da variável (mesmo que os valores de URL ainda estivessem lá) e obtive o erro mencionado no OP.
Jesuisme

3
Isso pode acontecer em qualquer cabeçalho. Aconteceu-me com Cookiecabeçalho
Kerooker

4
Isso salvou minha vida!
Neyohw 11/07/19

2
@Kerooker! Seu comentário foi o que me salvou! Era uma chave de cabeçalho colada de cópia que tinha um espaço de liderança para mim.
saml 20/08/19

56

Se você receber uma mensagem "Não foi possível obter resposta" dos aplicativos nativos do Postman ao enviar sua solicitação, abra o Postman Console (Exibir> Mostrar o Postman Console), reenvie a solicitação e verifique se há logs de erro no console.

Graças a numaanashraf


4
Muito útil. Acho que precisava desabilitar os certificados SSL, mas havia adicionado um cabeçalho inválido e o console explicou isso para mim.
MattC

2
Isso me apontou na direção certa; no meu caso, o log do console deu um erro muito mais claro do que o Postman: "Erro: caractere inválido no conteúdo do cabeçalho [" Autorização "] Aviso: Esta solicitação não foi enviada completamente e pode não ter todos os cabeçalhos de sistema necessários".
Peter W

1
Essa deve ser a resposta aceita, pois ajuda a entender a causa subjacente e não apenas adivinhar (por exemplo, "caractere inválido no cabeçalho").
Alexei

17

Olá. Este problema foi resolvido para mim.

configuração -> geral -> tempo limite da solicitação em ms = 0


Você pode rir, mas uma nova instalação da v7.17.0 tinha isso em 60... Se você não tivesse mencionado, eu não ficaria lá por horas ... Obrigado!
Koshinae 06/02

Estrondo! Isso funcionou, posso saber a razão por trás disso?
Pardeep Jain 16/04

13

Se todos os métodos acima não funcionarem, verifique as variáveis ​​de ambiente e verifique se os seguintes ambientes não estão definidos. Se esses estiverem definidos e não forem necessários por qualquer outro aplicativo, remova-os.

HTTP_PROXY
HTTPS_PROXY

Link de referência


2
Eu não posso acreditar que ainda ocorre em 2019.What se meus outros aplicativos precisam desses parâmetros env :(
thReality


6

Ao obter o seguinte erro, insira a descrição da imagem aqui

você precisa fazer o seguinte.

Etapa 1: No Postman, clique no ícone de chave inglesa, vá para configurações e, em seguida, vá para a guia Proxy.

Etapa 1 Ícone da chave inglesa> Configurações> guia Proxy

Etapa 2: Crie um proxy personalizado. Este artigo explica como criar um proxy personalizado. Depois de criar o Proxy personalizado, desative o botão de alternância do Proxy. Coloquei 61095 no servidor proxy e funcionou para mim.

insira a descrição da imagem aqui

Etapa 3 :

Sucesso

Sucesso


4
Você pode explicar por que um Proxy seria necessário para acessar um servidor na rede local que está tendo esse problema?
214196 Robloss0606

5

Eu vim com esta solução

  1. No carteiro, vá para configuração -> proxy
  2. E fora da configuração global de proxy
  3. no Usar proxy do sistema insira a descrição da imagem aqui

  4. E vá para o arquivo de configuração do host do Windows 'C: \ Windows \ System32 \ drivers \ etc \ hosts'

  5. Abra esse arquivo no modo administrador
  6. E adicione o subdomínio ao arquivo hosts insira a descrição da imagem aqui

3

Para mim, o que funcionou foi adicionar 127.0.0.1 subdomain.localhostao meu arquivo host. No OSX, isso era / etc / hosts. Não sei por que isso era necessário, pois eu poderia alcançar o subdomínio no chrome.


2
  1. No carteiro, vá para configuração -> proxy
  2. E fora da configuração global de proxy

insira a descrição da imagem aqui


1

Para mim, era a rota que eu estava chamando no meu servidor de nó não estava retornando nada. Adicionando

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

para a rota que eu estava chamando resolveu o problema.


1

Você mencionou que está usando um certificado CER.

De acordo com a página Postman sobre certificados.

Escolha seu arquivo de certificado do cliente no campo arquivo CRT. Atualmente, suportamos apenas o formato CRT. Suporte para outros formatos (como PFX) em breve.

O nome da extensão CER, CRT não torna o certificado esse tipo de certificado, mas esses são os nomes de extensões exceto.

CER é um certificado X.509 em formato binário, codificado pelo DER.

CRT é um certificado X.509 binário, encapsulado em codificação de texto (base-64).

Você pode usar o OpenSSL para alterar um arquivo CER para um arquivo CRT. Não tive boa sorte com isso, mas é assim.

openssl x509 -forma PEM -em certificado.cer -out certificado.crt

ou

openssl x509 -informe DER -no certificado.cer -out certificado.crt


1

Nenhuma dessas soluções funciona para mim. O Postman não está enviando nenhuma solicitação ao servidor porque o Postman não está localizando o host. Portanto, se você modificar seus / etc / hosts para 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

Funciona para mim.


1

Para mim, a questão era que Content-Lengthera grande demais. Coloquei o conteúdo do corpo no NotePad ++ e contei os caracteres, coloquei a figura PostMane funcionou.

Sei que não responde diretamente por que o subdomínio da operação não estava funcionando, mas pode ajudar alguém.


O Postman retorna o mesmo erro, mesmo se você enviar o cabeçalho HTTP, content-encoding: gzipmas o conteúdo não estiver compactado com o gzip. Veja stackoverflow.com/a/52854400/2988107
Mišo

1

espaços invisíveis

No meu caso, eram espaços invisíveis que o carteiro não reconheceu, a sequência de texto acima é renderizada como sem espaços no carteiro. Desabilitei a validação do certificado SSL e o Proxy do sistema até tentei na extensão do postman chrome (que está prestes a ser preterida), mas quando baixei e experimentei o Insomnia e ele deu esses pontos vermelhos no local onde estavam esses espaços, deve ter chegado lá durante a cópia /colar


1

Para quem experimentou esse problema com domínio real, em vez de localhost, e não conseguiu resolvê-lo usando QUALQUER DOS ACIMA .

Tente alterar o DNS da rede (Wi-Fi ou LAN) para outro DNS. Para mim, usei o DNS do Google 8.8.8.8, 8.8.4.4 e funcionou!

insira a descrição da imagem aqui


1

solução é muito simples se você estiver usando o aplicativo asp.net core 2. O método Inside ConfigureServices dentro do arquivo startup.cs arquiva toda essa linha

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

1

Você só precisa ativar o SSL desativar o para enviar sua solicitação.

O proxy e outros vêm com vários erros.


0

Depois de todos os métodos acima, como desativar a verificação do certificado SSL, ativar apenas Usar o Proxy do Sistema e remover as variáveis ​​de ambiente do sistema HTTP_PROXY e HTTPS_PROXY, funcionou.

Nota: Foi necessário reiniciar o aplicativo Postman, pois as variáveis ​​de ambiente foram alteradas.


0

Desmarcar a verificação de proxy e certificado SSL não funcionou para mim.

A desativação das variáveis ​​de ambiente PROXY funcionou.

export http_proxy=
export ftp_proxy=
export https_proxy=

Mude para o diretório em que o Postman está instalado e, em seguida:

./Postman

0

Postman para Linux versão 6.7.1 - Ubuntu 18.04 - linux 4.15.0-43-generic / x64

Eu tive o mesmo problema e, por acaso, substituí http://localhostpor http://127.0.0.1e tudo funcionou.

Meu etc/hoststinha as entradas adequadas para localhostehttps://localhost solicitações sempre funcionou conforme o esperado.

Eu não tenho idéia por que mudar localhostpara httpcom 127.0.0.1resolveu o problema.


0

No meu caso, o MVC não conseguiu serializar os resultados (usei acidentalmente um modelo em vez do DTO). Eu depurei até passar uma string simples, que funcionou. Depois de consertar a serialização, tudo surgiu.


0

No meu caso, o proxy (corporativo) estava usando um certificado SSL autoassinado que Postman não gostava. Eu o descobri ativando o console View-> Show Postman e repetindo a solicitação. O console então mostrou o erro de certificado. Em Configurações-> Geral, desabilitei a verificação do certificado SSL.


0

A solução para mim, como estou usando a Postmanextensão obsoleta para Chrome, para resolver esse problema, tive que:

  1. Ligue para alguma GETsolicitação usando oChrome próprio navegador.
  2. Aguarde a página de erro "Sua conexão não é privada" para aparecer.
  3. Clique em ADVANCEDe, em seguida, proceed to [url] (unsafe)vincule.

Depois disso, as solicitações através da própria extensão devem funcionar.


0

No meu caso, era uma sub-rede mal configurada. Apenas uma das 2 sub-redes do ELB funcionou.

Eu descobri isso fazendo uma pesquisa e tentando ondular os IPs retornados diretamente. Apenas um funcionou. O carteiro continuou usando o mal configurado.


0

Eu tive o mesmo problema.

Acabou que meu tempo limite estava muito baixo. Eu mudei para 30ms pensando que eram 30seg. Voltei a 0 e ele começou a funcionar novamente.


0

Eu recebi o mesmo problema "Não foi possível obter nenhuma resposta" devido a um parâmetro errado no cabeçalho. Corrigi-o removendo o parâmetro HOST do cabeçalho.

PS: Infelizmente, fui pressionado a instalar o outro software para obter essas informações. Deve ser ótimo receber essa mensagem de erro do Postman, em vez de obter bobagens gerais.


0

No meu caso, esqueci de definir o valor da variável no campo "CURRENT VALUE".


0

No meu caso, o problema era que, para o ambiente UAT , o URL da API começará com Http em vez de https . Além disso, o back-end atribui portas diferentes para Http e https.

por exemplo,

http://10.12.12.31:2001/api/example . - está correto para mim

https://10.12.12.31:2002/api/example . - está errado para mim

Porque eu estava usando a porta https e 2002 para acessar o ambiente UAT. Então, estou recebendo não foi possível obter nenhum erro de resposta no carteiro.


0

Acabei de experimentar este erro. No meu caso, o caminho foi muito longo. Url assim me deu esse erro no carteiro (exemplo falso)

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

enquanto que

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

funcionou bem.

Espero que ajude alguém que por acidente leia tão longe ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.