代码之家  ›  专栏  ›  技术社区  ›  Yahya Hussein

将postman与子域一起使用时,“无法获得任何响应”响应

  •  260
  • Yahya Hussein  · 技术社区  · 7 年前

    我正在使用postman测试我拥有的API,当请求不包含子域时一切都很好,但是当我向URL添加子域时,我得到了这个响应。

    无法获得任何响应

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

    为什么会发生这种情况:

    服务器无法发送响应:确保后端正常工作 正确地

    正在阻止自签名SSL证书:通过关闭来修复此问题 设置中的“SSL证书验证”>全体的

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

    请求超时:在设置中更改请求超时(&T);全体的

    如果我从postman复制相同的URL并将其粘贴到浏览器中,我会得到正确的响应,是否有一些配置可以让postman使用子域?

    33 回复  |  直到 7 年前
        1
  •  555
  •   Top-Master OMG Ponies    3 年前

    首先转到 设置 在里面 邮递员 :

    1. 这个 SSL证书验证 在里面 全体的 选项卡:

    1. 这个 全局代理配置 使用系统代理 在代理选项卡中:

    1. 制作 请求超时 至0(零)

    配置 Apache :

    如果上述变更导致 404 回答,然后继续阅读;-)

    在本地托管其站点的用户(如 XAMP 和/或 WAMP ),可以使用 https:// 前缀地址,但这是一个谎言 真正启用 SSL (对于每个虚拟站点),像配置Apache一样:

    • 打开 httpd-vhosts.conf 文件(来自 阿帕奇 conf/extras 目录),在您首选的文本编辑器中。

    • 将虚拟站点的设置更改为:

      <VirtualHost *:80 *:443>
          ServerName my-site.local
          ServerAlias *.my-site.local
          DocumentRoot "C:\xampp\htdocs\my-project\public"
      
          SSLEngine on
          SSLCertificateFile "path/to/my-generated.cert"
          SSLCertificateKeyFile "path/to/my-generated.key"
      
          SetEnv APPLICATION_ENV "development"
      
          <Directory "C:\xampp\htdocs\my-project\public">
              Options Indexes FollowSymLinks
              AllowOverride All
              Order allow,deny
              Allow from all
          </Directory>
      </VirtualHost>
      

      但当然,生成一个虚拟SSL证书,并更改所有文件路径,如“ path/to/my-generated.cert “转换为实际文件地址。

    • http:// (无S)前缀地址;Apache现在应该给出如下错误:

      Bad Request
      
      Your browser sent a request that this server could not understand.
      Reason: You're speaking plain HTTP to an SSL-enabled server port.
      Instead use the HTTPS scheme to access this URL, please.
      
        2
  •  239
  •   Cool.wen    6 年前

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

        3
  •  66
  •   Chris    5 年前

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

    幸亏 numaanashraf

        4
  •  19
  •   kishor soneji    6 年前

    嗨,这个问题为我解决了。

        5
  •  14
  •   arjuncc    6 年前

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

    HTTP_PROXY
    HTTPS_PROXY
    

    参考 link

        6
  •  8
  •   Udit Jain    6 年前

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

        7
  •  6
  •   user8709803 user8709803    6 年前

    当出现以下错误时, enter image description here

    您需要执行以下操作。

    第1步: 在Postman中,单击扳手图标,转到设置,然后转到代理选项卡。

    Step 1 Wrench Icon > Settings > Proxy Tab

    第2步: article explains how to create a custom proxy. 创建自定义代理后,请确保将代理切换按钮关闭。我为代理服务器安装了61095,它对我起了作用。

    enter image description here

    第3步:

    成功

    Success

        8
  •  6
  •   Rasika Weragoda    5 年前

    我想出了这个解决方案

    1. 在“邮递员前往”设置中-->代理
    2. 和关闭全局代理配置
    3. 关于使用系统代理 enter image description here

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

    5. 以管理员模式打开该文件
    6. 并将子域添加到主机文件中 enter image description here
        9
  •  3
  •   JSWilson    6 年前

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

        10
  •  2
  •   nthaih    5 年前
    1. 在“邮递员前往”设置中-->代理
    2. 和关闭全局代理配置

    enter image description here

        11
  •  1
  •   ContextSwitch    6 年前

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

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

    我所呼叫的路线解决了问题。

        12
  •  1
  •   GeekMustHave    6 年前

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

    根据邮递员关于证书的页面。

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

    是二进制形式的X.509证书,DER编码。

    阴极射线管 是一个二进制X.509证书,封装在文本(base-64)编码中。

    您可以使用OpenSSL将CER文件更改为CRT文件。我的运气不太好,但看起来是这样的。

    openssl x509-通知PEM-在证书中。cer-out证书。阴极射线管

    openssl x509-通知DER-在证书中。cer-out证书。阴极射线管

        13
  •  1
  •   Harmlezz    6 年前

    Postman for Linux版本6.7.1-Ubuntu 18.04-Linux 4.15.0-43-generic/x64

    我也有同样的问题,碰巧我换了 http://localhost 具有 http://127.0.0.1 一切都很顺利。

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

    我不知道为什么要改变 本地服务器 对于 http 具有 127.0.0.1 解决了这个问题。

        14
  •  1
  •   gsumk    5 年前

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

    这对我来说很管用。

        15
  •  1
  •   Darren Wood    5 年前

    Content-Length 太大了。我把正文的内容放在记事本++里,数了数字符,把那个数字放进去 PostMan 然后它成功了。

    我知道它不能直接回答op的子域不工作的原因,但它可能会帮助某些人。

        16
  •  1
  •   Yash Vardhan    5 年前

    invisible spaces

    在我的例子中,邮递员无法识别不可见的空格,上面的文本字符串在邮递员中呈现为没有空格。 我禁用了SSL证书验证和系统代理,甚至尝试了postman chrome扩展(即将被弃用),但当我下载并尝试 Insomnia 它在这些空间所在的地方给出了红点,肯定是在复制/粘贴过程中出现的

        17
  •  1
  •   Cuong Vu    5 年前

    对于遇到此问题的任何人 实域 而不是 本地服务器 无法使用 上述任何一项 解决。

    尝试将网络DNS(WIFI或LAN)更改为其他DNS。对我来说,我使用谷歌DNS 8.8.8.8,8.8.4.4,它工作了!

    enter image description here

        18
  •  1
  •   tapos ghosh    5 年前

    如果使用asp,解决方案非常简单。net core 2应用程序。在…内 配置服务 方法内部 启动。反恐精英 将所有这行归档

    services.AddMvc()
                    .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
                    .AddJsonOptions(x => x.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
    
        19
  •  1
  •   Alireza Abdollahnejad    4 年前

    你只需要转身 SSL 发送您的请求。

    其他人则会出现各种错误。

        20
  •  1
  •   Ali Akbar Afridi    4 年前

    我的问题是在标题中输入了错误的参数, 请求的参数为

    Authorization: Token <string>
    

    并且正在努力

    Authorization Token: <string>
    
        21
  •  0
  •   Sayantan Ganguly    6 年前

    在所有上述方法(如关闭SSL证书验证、启用仅使用系统代理以及删除HTTP\U代理和HTTPS\U代理系统环境变量)之后,它成功了。

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

        22
  •  0
  •   Subramanian Sridharan    6 年前

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

    不稳定的代理环境变量起到了作用。

    export http_proxy=
    export ftp_proxy=
    export https_proxy=
    

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

    ./Postman
    
        23
  •  0
  •   mgPePe    5 年前

    在我的例子中,MVC无法序列化结果(我意外地使用了模型而不是DTO)。我调试到传递一个简单的字符串,这很有效。一旦我修复了序列化,一切都出现了。

        24
  •  0
  •   koljaTM    5 年前

    在我的例子中,(公司)代理使用了Postman不喜欢的自签名SSL证书。我是通过激活 视图->显示邮递员控制台 并重试请求。控制台随后显示证书错误。在里面 设置->全体的 SSL证书验证。

        25
  •  0
  •   MightGod    5 年前

    我的解决方案,因为我使用的是不推荐的 Postman 扩展 Chrome ,为了解决这个问题,我必须:

    1. 打电话给一些人 GET 使用 浏览器本身。
    2. 等待错误页面 “您的连接不是私有的” 出现。
    3. 点击 ADVANCED 然后 proceed to [url] (unsafe) 链接

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

        26
  •  0
  •   M.Vanderlee    5 年前

    在我的例子中,它是一个配置错误的子网。ELB中的2个子网中只有一个子网工作。

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

        27
  •  0
  •   Simon    5 年前

    我也有同样的问题。

    结果我的超时设置得太低了。我把它改为30秒,以为是30秒。我将其设置回0,然后它再次开始工作。

        28
  •  0
  •   Michal Jurník    5 年前

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

    PS:不幸的是,我被迫安装了其他软件来获取这些信息。从邮递员那里得到这个错误信息应该很棒,而不是得到一般的胡说八道。

        29
  •  0
  •   Roman Grinyov    5 年前

    在我的例子中,我忘记在“当前值”字段中设置变量的值。

        30
  •  0
  •   AnshulJS    4 年前

    就我而言,问题在于 UAT公司 环境,API URL将以开头 Http 而不是 https . 此外,后端为Http和https分配不同的端口。

    例如

    http://10.12.12.31:2001/api/example . - 对我来说是正确的

    https://10.12.12.31:2002/api/example . - 对我来说是不对的

    因为我使用https和2002端口来访问UAT环境。 所以我得到了 无法获得任何响应 邮递员出错。