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.