请求在curl中工作,但不在postman中工作

请求在curl中工作,但不在postman中工作,curl,postman,Curl,Postman,此请求与curl一起工作 curl 'http://www.express.com/browse/gadgets/store-change-location-more.jsp?changelocation=true&catelogRefId=75116576' -H 'Cookie: JSESSIONID=6D26018EFF8B54EC4022299B2AC7B184.cmhlpecomecm02w2;' --compressed 但同样的要求不适用于邮递员 邮递员请求 Reques

此请求与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;

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

我也时断时续地遇到这种情况。我尝试了以下步骤:

  • 转到设置,禁用发送邮递员令牌标头
  • 禁用拦截器(顶部的卫星图标)

不知道为什么,但它只是工作

在我的例子中,只有对localhost的请求起作用。这是在它与我登录的其他实例同步之后发生的


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

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


在我将Settings->General->Request timeout in ms(0表示无穷大)设置为0后,它开始正常工作。

在我的情况下,请求失败,因为我遇到了通过HTTPS提供服务的内部资源。在邮递员首选项中禁用SSL证书验证为我修复了它。

您是否在代理之后?我遇到了一个类似的问题,我相信问题在于代理的握手协议没有应用到邮递员应用程序中

在我的例子中,我意外地在Postman地址中添加了额外的
/
,例如:www.test.com//endpoint,但在保存到代码时,Postman重新格式化了它并删除了额外的
/

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


example.com/api/items/
->
example.com/api/items
在我的例子中,我正在本地主机(端口8090)中运行一个HTTP进程

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

curl -X GET 'http://localhost:8090/tel-2/customers' -H 'Content-Type: application/json'
当我试图通过GUI运行它时,我得到一个HTTP 400,带有如下HTML错误响应(
为简洁起见省略了部分)


HTTP状态400–错误请求
HTTP状态400–错误请求
当我通过浏览器访问URL时,也可以正常工作

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


最后,我完全卸载了Postman desktop,旧的Chrome版本5.5.5可以正常工作。

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

我的使用案例是,我试图获得oauth2令牌,并在请求
正文
x-www-form-urlencoded
部分将
客户id
客户机密
作为键值对

我一直在说一个错误

{
     "fault": {
         "faultstring":"Invalid client identifier {0}",
         "detail": {"errorcode":"oauth.v2.InvalidClientIdentifier"}
      }
}
解决方案是将凭证放入请求
正文
raw
部分,如下所示:

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

在那之后拿到了代币。

你有没有想过?我现在也有同样的问题,@ennovation的回答没有解决。它对我不起作用。有人找到了这个问题的解决方案吗?试着去掉可能存在的任何Cookie。这个答案似乎与问题无关。我是在一个代理后面,我选中了“使用系统代理”,但也选中了“添加自定义代理配置”。取消选中“添加自定义代理配置”后,我的请求开始工作。我想象“添加自定义代理配置”设置会覆盖我的代理环境变量。哦!非常感谢。这也是我的问题。
grant_type=client_credentials&client_id=some-client-id&client_secret=some-client-secret