在子域中使用邮递员时出现“无法获得任何响应”响应


223

我正在使用邮递员来测试我拥有的API,当请求不包含子域时一切都很好,但是当我向URL添加子域时,我会收到此响应。

无法得到任何回应

连接到http://subdomain.localhost:port / api /时出错

为什么会发生这种情况:

服务器无法发送响应:确保后端正常运行

自签名SSL证书被阻止:通过在“设置”>“常规”中关闭“ SSL证书验证”来解决此问题

代理配置不正确确保在“设置”>“代理”中正确配置了代理

请求超时:在“设置”>“常规”中更改请求超时

如果我从邮递员复制相同的URL并将其粘贴到浏览器中,则会得到正确的响应,是否应该进行某种配置以使邮递员与子域一起使用?


1
我主要遇到超时问题,例如未连接到VPN(进程服务器端失控)。您的请求标头或CORS配置中可能缺少某些内容吗?
Ed Meacham

1
如果是这种情况,我是否应该收到“错误请求”,“未授权”之类的内容?
Yahya Hussein

1
对于路由问题,您肯定会得到40倍的收益。如果是白名单/ VPN问题,那么您也应该获得40倍的价格...我不知道该服务的配置方式,但是使用Postman时,您的请求将来自其他来源-因此,潜在的白名单问题。您应该能够在服务器端进行一些基本的调试,以查看您是否甚至正在使用端点的控制器……
Ed Meacham

1
我知道,如果这是一个白名单问题,它将适用于localhost / api而不适用于subdomain.localhost / api吗?不,它没有到达控制者
Yahya Hussein

1
我认为很多时候应用程序有问题,而不是邮递员。我调试了我的应用程序,并在Visual Studio的输出窗口中进行了检查,发现我的实体之间存在引用循环。在我解决了这个问题之后,问题就消失了。
Desell

Answers:


480

首先进入设置邮差

  1. SSL证书验证常规选项卡:

  2. 在“代理”选项卡中,关闭全局代理配置”和“ 使用系统代理”

  3. 使请求超时为零


您是否已按照所有步骤进行操作,刚才我修改了它对我
有用

1
如果您没有ssl选项,则必须从此处下载邮递员:www.getpostman.com
Abdullah Tahan

14
刚刚关闭的SSL认证工作对我来说
devcodes

4
它的工作原理很吸引人,但我的困惑是,为什么它对质量检查有效,但对DEV不起作用。无论如何,它们现在都可以正常工作。再次感谢。
raja777m

26
我很喜欢这个答案,当它从字面上告诉您错误消息说的相同内容时,会引起如此多的批评。
georgiaboy82

224

我遇到过同样的问题。这是由“ Authorization”标头值末尾的换行引起的,该值是通过复制粘贴承载令牌(偶然在末尾包含换行符)手动设置的


14
同样在这里,我的是在自定义标题上。删除了多余的换行符,一切都很好。

有点相关:我将我的请求归为一个集合,并在所有请求中使用通用的url变量。我不小心删除了变量名(即使url值仍然存在),并在OP中提到了错误。
犹太教徒

3
这可能发生在任何标题上。出现在Cookie
头上的

4
这救了我的命!
neeohw

2
@Kerooker!您的评论救了我!这是一个复制粘贴的标题键,对我来说有很大的空间。
saml

56

如果在发送请求时从Postman本机应用收到“无法获得任何响应”消息,请打开Postman控制台(“查看”>“显示Postman控制台”),重新发送请求并在控制台中检查是否有错误日志。

感谢numaanashraf


4
很有帮助。我想我需要禁用ssl证书,但是我添加了一个错误的标题,控制台为我拼写了出来。
MattC

2
这为我指明了正确的方向;在我的情况下,控制台日志给出了比Postman更清楚的错误:“错误:标头内容[“授权”]中的字符无效警告:此请求未完全发送,可能没有所有必需的系统标头”。
彼得W

1
这应该是可以接受的答案,因为它可以帮助您理解根本原因,而不仅仅是猜测原因(例如,“标头中的无效字符”)。
Alexei

17

您好这个问题已为我解决。

设置->常规-> Requesttimeout以ms = 0


您可能会笑,但是在v7.17.0的全新安装中有这个功能60……如果您没有提到它,那么我几个小时都不会来找您……谢谢!
Koshinae

繁荣!那行得通,我能知道这背后的原因吗?
Pardeep Jain

13

如果上述所有方法均无效,请检查您的环境变量,并确保未设置以下环境。如果设置了这些设置,并且其他任何应用程序都不需要将其删除。

HTTP_PROXY
HTTPS_PROXY

参考链接


2
我不敢相信它还会在2019年发生。如果我的其他应用需要这些env参数:(
thReality


6

出现以下错误时, 在此处输入图片说明

您需要执行以下操作。

第1步:在邮递员中,点击扳手图标,转到设置,然后转到代理标签。

步骤1扳手图标>设置>代理选项卡

步骤2:创建自定义代理。此文章解释了如何创建一个自定义代理。 创建自定义代理后,请确保将“代理”切换按钮关闭。我将61095放入代理服务器,它对我有用。

在此处输入图片说明

第三步:

成功

成功


4
您能否解释为什么有代理服务器才能访问存在此问题的本地网络上的服务器?
robross0606 '19

5

我想出了这个解决方案

  1. 在邮递员中转到设置->代理
  2. 和关闭全局代理配置
  3. 在使用系统代理上 在此处输入图片说明

  4. 并转到Windows主机配置文件'C:\ Windows \ System32 \ drivers \ etc \ hosts'

  5. 在管理员模式下打开该文件
  6. 并将子域添加到主机文件 在此处输入图片说明

3

对我来说,有效的方法是添加127.0.0.1 subdomain.localhost到我的主机文件中。在OSX上是/ etc / hosts。不知道为什么这是必要的,因为我可以从chrome到达子域。


2
  1. 在邮递员中转到设置->代理
  2. 和关闭全局代理配置

在此处输入图片说明


1

对我来说,正是我在节点服务器中调用的路由没有返回任何内容。新增中

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

到我打电话的路线解决了这个问题。


1

您提到您正在使用CER证书。

根据邮递员页面上的证书。

在“ CRT文件”字段中选择您的客户端证书文件。目前,我们仅支持CRT格式。即将支持其他格式(例如PFX)。

扩展名CER的名称,CRT并不使证书成为证书的类型,但是,这些是扩展名的例外。

核证减排量是DER编码的二进制形式的X.509证书。

显像管是二进制X.509证书,封装在文本(基本64)编码中。

您可以使用OpenSSL将CER文件更改为CRT文件。我还没有碰到好运,但是看起来像这样。

openssl x509-通知PEM-输入certificate.cer-输出certificate.crt

要么

openssl x509-通知DER-输入certificate.cer-输出certificate.crt


1

这些解决方案都不适合我。邮递员未向服务器发送任何请求,因为邮递员未找到主机。因此,如果您将/ etc / hosts修改为 127.0.0.1 localhost 127.0.0.1 subdomain.localhost

这个对我有用。


1

对我来说,问题Content-Length是太大了。我将正文的内容放在NotePad ++中,对字符进行计数,然后将该数字放入PostMan,然后,然后开始工作。

我知道它并不能直接回答为什么op的子域无法正常工作,但可能会帮助到别人。


即使您发送HTTP标头,content-encoding: gzip但其内容未压缩,邮递员也会返回相同的错误。见stackoverflow.com/a/52854400/2988107
味噌

1

无形空间

就我而言,这是邮递员无法识别的不可见空间,上述文本字符串呈现为邮递员中没有空格。我禁用了SSL证书验证和系统代理,甚至尝试使用邮递员chrome扩展程序(即将弃用),但是当我下载并尝试Insomnia并在那些空格所在的地方出现了那些红点时,一定是在复制过程中到达了该点。 /糊


1

对于使用真实域而不是localhost遇到此问题并且无法使用上述任何方法解决此问题的任何人解决方案解决的人。

尝试将您的网络DNS(WIFI或LAN)更改为其他一些DNS。对我来说,我使用了Google DNS 8.8.8.8、8.8.4.4,它确实有效!

在此处输入图片说明


1

如果您使用的是asp.net core 2应用程序,则解决方案非常简单。在startup.cs文件内的ConfigureServices方法内, 所有这行

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


0

在完成所有上述方法(如关闭SSL证书验证,仅启用“使用系统代理”并删除HTTP_PROXY和HTTPS_PROXY系统环境变量)后,此方法便起作用了。

注意:由于环境变量已更改,因此必须重新启动Postman应用程序。


0

取消选中代理和SSL证书验证对我不起作用。

取消设置PROXY环境变量就可以了。

export http_proxy=
export ftp_proxy=
export https_proxy=

转到安装Postman的目录,然后:

./Postman

0

Linux 6.7.1版的邮递员-Ubuntu 18.04-Linux 4.15.0-43-generic / x64

我遇到了同样的问题,无意间我换成http://localhosthttp://127.0.0.1,一切正常。

etc/hosts有适当的条目localhosthttps://localhost请求始终按预期工作。

我不知道为什么改变localhosthttp127.0.0.1解决的问题。


0

就我而言,MVC无法序列化结果(我不小心使用了模型而不是DTO)。我调试通过传递一个简单的字符串,它起作用。一旦我修复了序列化,一切都出现了。


0

在我的情况下,(公司)代理使用的是Postman不喜欢的自签名SSL证书。我通过激活View-> Show Postman控制台并重试该请求来发现它。然后,控制台显示证书错误。在设置->常规中,我禁用了SSL证书验证。


0

对于我的解决方案,因为我使用了不赞成使用的Postman扩展程序Chrome来解决此问题,因此我必须:

  1. 调用一些GET使用要求Chrome浏览器本身。
  2. 等待错误页面“您的连接不是私有的”出现。
  3. 单击ADVANCED,然后proceed to [url] (unsafe)链接。

在此之后,通过扩展本身的请求应该可以工作。


0

就我而言,这是一个配置错误的子网。ELB中的两个子网中只有一个起作用。

我通过执行nslookup并尝试直接卷曲返回的IP来解决这个问题。只有一个工作。邮递员只是继续使用配置错误的邮件。


0

我遇到过同样的问题。

原来我的超时设置太低了。我将其更改为30毫秒,以为是30秒。我将其设置回0,然后再次开始工作。


0

由于标题中的参数错误,我遇到了同样的“无法获得任何响应”的问题。我通过从标头中删除参数HOST来修复它。

PS:不幸的是,我被迫安装其他软件来获取此信息。从Postman收到此错误消息,而不是得到一般的废话,应该很棒。




0

我刚遇到此错误。就我而言,路径太长。所以这样的URL给我邮递员这个错误(假例子)

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

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

工作正常。

希望它可以帮助那些偶然阅读了那么远的人...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.