我正在使用邮差测试我有一个API,当请求不包含子域时,一切都很好,然而,当我添加一个子域到URL时,我得到了这个响应。

无法得到任何回应 连接http://subdomain.localhost:port/api/时出错 为什么会发生这种情况: 服务器无法发送响应:请确保后端正在工作 正确 自签名SSL证书被阻止:通过关闭来修复此问题 “SSL证书验证”设置>通用 Proxy配置错误确保Proxy配置正确 在“设置”中>代理 请求超时:在“设置”中修改请求超时时间

如果我从邮差复制相同的URL并将其粘贴到浏览器中,我得到了一个正确的响应,是否有某种配置,我应该做邮差工作与子域?


当前回答

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

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

其他回答

对我来说,是http://localhost而不是https://localhost。

在邮递员去设置——>代理 关闭全局代理配置

当用户不小心复制/粘贴了用于构建URL的环境变量中的前导空格字符时,我们得到了这个令人困惑的错误:

例子:

The request's URL was set to: http://{URL}/blah

The {URL} environment variable had a value of " hostname" (**notice the leading space character**)

这导致邮差试图访问http:// hostname/blah,并给出这个错误消息。

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

不设置PROXY环境变量就成功了。

export http_proxy=
export ftp_proxy=
export https_proxy=

更改到安装了Postman的目录,然后:

./Postman

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

我也遇到了同样的问题,我偶然用http://127.0.0.1替换了http://localhost,一切都正常工作。

我的etc/hosts有适当的localhost条目,https://localhost请求总是按预期工作。

我不知道为什么更改localhost为http 127.0.0.1解决了这个问题。