【问题标题】:Request working in curl but not in postman请求在 curl 中工作,但不在邮递员中
【发布时间】:2016-10-23 21:11:28
【问题描述】:

此请求与 curl 一起使用

curl 'http://www.express.com/browse/gadgets/store-change-location-more.jsp?changelocation=true&catelogRefId=75116576' -H 'Cookie: JSESSIONID=6D26018EFF8B54EC4022299B2AC7B184.cmhlpecomecm02w2;' --compressed

但同样的请求在邮递员中不起作用

发帖人要求

Request Type : GET

URL : http://www.express.com/browse/gadgets/store-change-location-more.jsp?changelocation=true&catelogRefId=75116576

Headers:

Cookie: JSESSIONID=6D26018EFF8B54EC4022299B2AC7B184.cmhlpecomecm02w2;

如何使请求也与邮递员一起工作?

【问题讨论】:

  • 你有没有想过这个问题?我现在遇到了同样的问题,@ennovation 的回答没有解决。

标签: curl postman


【解决方案1】:

我也偶尔发生过。我尝试了以下步骤:

  • 进入设置,禁用 Send Postman Token Header
  • 禁用拦截器(顶部的卫星图标)

不知道为什么,但它确实有效!

【讨论】:

  • 它对我不起作用。有没有人得到这个问题的解决方案?
  • 尝试同时删除任何可能已放置在那里的 Cookie。
【解决方案2】:

就我而言,只有对 localhost 的请求有效。这发生在它与我登录的其他实例同步之后。

在设置->常规中禁用SSL证书验证后,它又开始工作了。

【讨论】:

    【解决方案3】:

    我的 API 请求大约需要 4000 毫秒 才能返回响应,而在邮递员设置中将超时设置为 1000 毫秒

    在我将 Settings->General->Request timeout in ms(0 for infinity) 设置为 0 后,它开始正常工作了。

    【讨论】:

      【解决方案4】:

      就我而言,请求失败是因为我遇到了通过 HTTPS 提供的内部资源。在 Postman 首选项中禁用 SSL 证书验证已为我修复。

      【讨论】:

        【解决方案5】:

        你在代理后面吗?我遇到了类似的问题,我认为问题在于代理的握手协议未应用于邮递员应用程序。

        【讨论】:

        • 我在代理后面,我选中了“使用系统代理”,还选中了“添加自定义代理配置”。一旦我取消选中“添加自定义代理配置”,我的请求就开始工作了。我想“添加自定义代理配置”设置覆盖了我的代理环境变量。
        【解决方案6】:

        在我的情况下,我不小心在 Postman 地址中添加了额外的 /,例如:www.test.com//endpoint,但是当保存到 CODE 时,Postman 重新格式化并删除了额外的 /

        【讨论】:

          【解决方案7】:

          我的问题与 Postman 没有直接关系,而是在 REST 资源末尾添加了一个额外的 /,所以我得到了 404。解决方案就是不要为 REST 列表资源:

          example.com/api/items/ -> example.com/api/items

          【讨论】:

          • 这个答案似乎与问题无关
          【解决方案8】:

          就我而言,我在 localhost(端口 8090)中运行 HTTP 进程

          在 Postman 中按下 Code 按钮生成的 curl 请求工作正常,返回预期结果,即:

          curl -X GET 'http://localhost:8090/tel-2/customers' -H 'Content-Type: application/json'
          

          当我尝试通过 GUI 运行它时,我得到一个带有 HTML 错误响应的 HTTP 400,如下所示(为简洁起见,省略了<style> 部分)。

          <!doctype html>
          <html lang="en">
          
          <head>
              <title>HTTP Status 400 – Bad Request</title>
          </head>
          
          <body>
              <h1>HTTP Status 400 – Bad Request</h1>
          </body>
          
          </html>
          

          当我通过浏览器访问 URL 时也可以正常工作。

          我已尝试重新安装 Postman,但问题仍然存在。 我使用的 Postman 版本是 Desktop 7.31.1,目前是最新的。

          最后,我完全卸载了 Postman 桌面,旧版 Chrome 5.5.5 可以正常运行。

          【讨论】:

            【解决方案9】:

            在我的例子中,它是 Postman 中 url 末尾的换行符。 url 栏中实际上有一个换行符指示符,但它看起来更像是显示器上的污垢,所以我错过了它。 curl 实际上也是正确生成的,但我最初认为这是关于 Windows 上的单配额或双配额的一些问题,所以我正在更改它们并愉快地删除换行符,而不考虑让它工作......

            【讨论】:

            • 哦!谢谢!!这也是我的问题。
            【解决方案10】:

            我的用例是我试图获取 oauth2 令牌,并在请求 bodyx-www-form-urlencoded 部分中将 client-idclient-secret 作为键值对。

            我一直收到错误提示

            {
                 "fault": {
                     "faultstring":"Invalid client identifier {0}",
                     "detail": {"errorcode":"oauth.v2.InvalidClientIdentifier"}
                  }
            }
            

            解决方案是将凭据放入请求 bodyraw 部分,如下所示:

            grant_type=client_credentials&client_id=some-client-id&client_secret=some-client-secret
            

            在那之后得到了令牌。

            【讨论】:

              【解决方案11】:

              我必须确保检查/启用邮递员中所有隐藏的自动生成的标题。我最初禁用了它们,这对我造成了这个问题。

              【讨论】:

                猜你喜欢
                • 2019-08-25
                • 2020-05-18
                • 2023-02-10
                • 1970-01-01
                • 2015-03-08
                • 2019-10-02
                • 2017-12-06
                • 2017-06-19
                • 1970-01-01
                相关资源
                最近更新 更多