GET 请求在浏览器中有效,但在 POSTMAN 或 SOAPUI 中无效

Posted

技术标签:

【中文标题】GET 请求在浏览器中有效,但在 POSTMAN 或 SOAPUI 中无效【英文标题】:GET request works in browser but not in POSTMAN or SOAPUI 【发布时间】:2016-07-11 06:31:04 【问题描述】:

我有以下端点: http://millennium.iwise.com.br:6017/api/millenium_eco/Tabelas_preco.lista

如果我尝试通过浏览器打开,它会询问我的凭据,然后工作正常 - 如下图所示。

用户: OData

密码: 0d@t@123

如果我使用 POSTMAN 或 SOAPUI 发送相同的 GET 请求,我会得到 401 Unauthorized。

我在这里缺少什么?提前谢谢你。

更新:

我接受了浏览器的标头请求并在 POSTMAN 中使用了 same,但我仍然收到 401 Unauthorized。端点的服务器是否有可能被配置为拒绝除浏览器之外的所有请求?

【问题讨论】:

我可以在您的浏览器请求中看到 NTLM 授权标头。您如何在 POSTMAN 或 SOAPUI 中配置您的授权?我在 POSTMAN 中看到您发送基本身份验证。 @k.liakos 是的,你是对的。我找到了有类似问题的人。谢谢你的提示。我将尝试在邮递员/soapui 中找到一个解决方案来执行此身份验证。如果您有想法,请分享。 我为 SOAP UI 找到了这个 soapui.org/oauth2/reference/ntlm.html,但它需要一个额外的域来用于 NTLM 挑战,而您尚未提供。你知道这样的事情吗? 我不知道,但我很感谢您的帮助。我会努力想办法。谢谢! @k.liakos 我试图了解浏览器如何进行此身份验证。我不发送任何域信息,浏览器能够正确处理请求。你有什么主意吗?也许像“默认域”? 【参考方案1】:

我遇到了完全相同的问题,请求从浏览器工作但不使用邮递员。

由于邮递员跨设备同步,我相信它会维护大量缓存信息。我在应用程序中单击了我的个人资料并从所有设备中退出。 然后我启动了应用程序,没有登录,我点击了“不登录继续”选项,这是一个靠近登录页面底部的链接。然后我就可以通过邮递员运行请求了。

然后我通过邮递员登录,一切都很好。

注意:我总是在请求设置中关闭 SSL 证书验证。

【讨论】:

我的问题是我在设置中启用了 SSL 证书验证。关闭它对我有用。 在 Insomnia 中清理 cookie 很有帮助。【参考方案2】:

我也遇到了同样的问题。当我在提示窗口中提供用户名和密码时,它正在我的浏览器中工作。

我通过使用“授权”选项卡并在邮递员中选择身份验证类型“基本身份验证”来解决它。

【讨论】:

【参考方案3】:

我遇到了同样的问题,但没有找到任何解决方案,但是一旦我从另一个邮递员帐户登录并删除了邮递员的所有本地数据,它就可以工作。我不知道为什么会发生这种情况,但看起来是我的某种设置导致了这个问题。如果您是像我这样的初学者并且不知道发生了什么,我建议您删除本地数据并重置邮递员设置。

从邮递员那里删除本地数据:https://support.postman.com/hc/en-us/articles/4410785125271-How-to-remove-local-data

【讨论】:

postman本地数据如何全部删除?【参考方案4】:

即使没有登录,我也遇到了同样的错误。我把邮递员的所有历史都删掉了,再运行一遍,就达到了目的。

【讨论】:

如何删除邮递员的所有历史记录?【参考方案5】:

尝试进入 Postman 设置 > 并关闭 SSL 验证

它将允许您从不安全的 URL 发送/接收请求/响应

【讨论】:

【参考方案6】:

Click on this link

进入设置->关闭ssl证书

【讨论】:

【参考方案7】:

退出您当前的帐户并确保检查Clear local data 并重新登录。

【讨论】:

【参考方案8】:

我遇到了同样的问题,通过在邮递员中使用 NTLM 身份验证解决了这个问题。您可以在邮递员的授权选项卡中找到它

https://i.stack.imgur.com/eRMAT.jpg

【讨论】:

【参考方案9】:

在我的情况下,这是因为我在 url 的末尾有一个空格(对我来说是不可见的,从浏览器复制和粘贴,并且可能无意中添加了一个空格)。我花了一段时间才知道。这似乎是 Postman 方面的一个小错误。

【讨论】:

这让我找到了正确的位置,我的 URL 中有一个双斜杠。我的变量以斜杠结尾,但我也在地址栏中添加了斜杠。例如localhost:8080//api/some-resource【参考方案10】:

下载 Postman 桌面应用程序并从那里尝试。向 localhost:5001 发送请求的 Postman 网站将无法正确路由。您可以在路由器上设置端口转发到本地计算机,但更容易获得桌面软件。

我在上面遇到了同样的问题,这种方法有效。

【讨论】:

以上是关于GET 请求在浏览器中有效,但在 POSTMAN 或 SOAPUI 中无效的主要内容,如果未能解决你的问题,请参考以下文章

简单的 POST 请求在 Postman 中有效,但在浏览器中无效

我的请求在 Postman 中有效,但在浏览器中无效(React、Node、Cloudinary)

获取在 Postman 上工作的请求,但不在 React.js 中?

GET 请求在邮递员中有效,但在 Axios 中失败

HTTP 请求在 Postman 中有效,但在 C# 代码中无效

HTTP POST 请求在 Postman 中有效,但在代码中无效