【问题标题】:Invalid character in header content ["Host"] Postman标题内容中的无效字符 ["Host"] 邮递员
【发布时间】:2021-09-09 07:18:46
【问题描述】:

当我尝试使用 localhost:[port] 测试 api 时,它会在标题 ["Host"] 控制台错误中给出无效字符。我正在使用 dotnet core webApi。我从 api 端交叉检查了 CORS 配置,这很好。问题在于邮递员方面。 邮差版:v8.7.0

【问题讨论】:

  • 错误信息是什么,它会在控制台中的请求标头上方。
  • @DannyDainton 'Invalid character in header content ["Host"]' 是错误信息
  • 确保您没有添加自定义主机标头,删除它并使用屏幕截图中显示的自动标头
  • 我通过添加请求菜单再次创建了请求,它可以工作。我不确定更新和旧请求是否有问题。旧的仍然失败。
  • 以防万一它可以帮助其他人遇到同样的错误 - 我使用的是环境变量,而我用于 URL 的那个在末尾有一个换行符。删除它解决了这个问题。

标签: testing postman asp.net-core-webapi web-api-testing


【解决方案1】:

我认为问题出在我正在使用的变量中,因为错误告诉我主机 https://localhost:4431 中有一个无效字符,这正是我的变量的值。

我发现无效字符实际上不在我的变量中,而是在我请求的 URL 的其余部分中。

原来,当从我的 API 的 Swagger 中复制端点名称时,我还复制了一个不可见字符 %E2%80%8B。在查看 API 的控制台时看到了 RequestPath:/%E2%80%8BmyEndpoint

删除这个不可见的字符解决了这个问题

【讨论】:

    【解决方案2】:

    在我的情况下,在参数和路径生成错误之后输入。确切原因可以在邮递员控制台中找到。

    【讨论】:

      【解决方案3】:

      就我而言: 我从 Header 中删除了身份验证,然后再次重新输入身份验证凭据。

      【讨论】:

        【解决方案4】:

        我也遇到了同样的事情,我可以通过导出“我的工作区”内容并从记事本++中打开它来找到错误。然后将编码从记事本++更改为“ANSI”(编码=> ANSI)。您会注意到以下特殊字符,

        当您复制 url 并粘贴到 Postman 中然后尝试对其进行编辑时,可能会发生这种情况。

        如果您从某人那里获取此 URL,您可以要求提供从邮递员导出的 json 文件。然后将其导入您的工作区。

        【讨论】:

          【解决方案5】:

          取自问题 cmets。 Fidel Garcia

          我通过“添加请求”菜单再次创建了请求,它可以正常工作。我不确定更新和旧请求是否有问题。旧的仍然失败。

          ================================================ ====

          它也对我有用。我创建了具有相同参数的新请求并且它有效。 我创建了一个请求并将参数写入标题中。在错误请求后,我将其更改为更正一个(在正文中发布请求和参数)并得到错误。 使用正确配置创建新请求(在正文中发布请求参数)后,它可以正常工作。

          【讨论】:

          • 那么答案是什么?
          • 创建具有相同(正确)配置的新请求应该可以解决问题。
          猜你喜欢
          • 2019-01-24
          • 1970-01-01
          • 2020-11-12
          • 2023-02-05
          • 1970-01-01
          • 2013-07-29
          • 2014-01-03
          • 2016-12-06
          • 1970-01-01
          相关资源
          最近更新 更多