【问题标题】:How to use a GET curl in postman?如何在邮递员中使用 GET curl?
【发布时间】:2018-08-29 08:12:41
【问题描述】:

我有这个 curl 示例:

curl -i -X GET -H "Content-Type:application/json" https://dev.ga.coach/intervention/:getworse/ -d '{"user_id": "012ab3", "section_id": "6"}'

当我通过cygwin 运行它时,它工作正常!当我尝试在 postman 中导入它时,它会显示为 POST,我得到以下响应。

<h1>Not Found</h1>
<p>The requested URL /intervention/ was not found on this server.</p>

当我通过网络浏览器测试https://dev.ga.coach/intervention/:getworse/ 时,我看到的是:

【问题讨论】:

  • 您需要在 postman 中填写您想要的最终 URL。例如:https://dev.ga.coach/intervention/:getworse?user_id=012ab3&amp;section_id=6 如果您将选项设置为邮递员,它会自动将请求设置为 POST,因为 GET 值没有 url 中没有的选项!
  • 使用请求正文或 Content-Type 标头发出 GET 请求是没有意义的。 cURL 似乎允许您这样做,但这是非常错误的。
  • @kevinniel 还是没有运气!
  • @Quentin 我正在开发rest-apis,我正在通过cygwin 检查它们并且正在工作!但是我们正在与之合作的一家公司希望通过postman 对其进行测试。这就是问题所在。
  • 那你的网址是错误的。要在 Postman 中发出 GET 请求,您必须设置与您可以在 Web 浏览器中输入的 URL 相同的 URL。如果 URL 确实在网络浏览器中工作,那么它将在邮递员上工作。尝试不同的东西

标签: html curl postman


【解决方案1】:

cURL 允许您在 GET 请求中包含有效负载,但 the HTTP specification 说:

GET 请求消息中的有效负载没有定义的语义; 在 GET 请求上发送有效负载正文可能会导致一些现有的 拒绝请求的实现。

当您尝试向 Postman 发出相同请求时,您会遇到它“拒绝”该请求。在这种情况下,拒绝以将其转换为 POST 请求的形式出现。

在 POST 请求中包含 JSON 有效负载是合适的,但由于您看起来正在尝试获取信息,因此您应该将数据移动到 URL。

例如:

https://dev.ga.coach/intervention/012ab3/6/:getworse/

这将需要您更改您的服务器端代码(您大概可以这样做,因为您说我正在开发 rest-apis)以从新位置读取数据。

【讨论】:

    猜你喜欢
    • 2016-08-06
    • 2019-10-12
    • 1970-01-01
    • 2017-08-21
    • 2019-08-25
    • 2018-11-22
    • 2019-01-07
    • 2018-07-18
    • 2021-08-15
    相关资源
    最近更新 更多