我正在try 使用RestClient通过post方法访问Web服务.我正在按照指定的方式发送授权令牌,但我仍然收到403状态错误,这意味着我被禁止使用该api.有没有什么方法可以让我看到请求是通过http post发送的,这样我就可以验证头了?我找不到任何例子或任何文件提到如何做到这一点?

我的代码与此类似:

token = get_token

response = RestClient.post "https://api-dev.xxx.com/software/services/search/ABC",
  :authorization => "Bearer #{token}"

推荐答案

您可以try 启用RestClient的日志(log)记录,看看这是否提供了任何有用的输出:

RESTCLIENT_LOG=stdout path/to/my/program

或者如果您使用的是Rails

RESTCLIENT_LOG=stdout bundle exec passenger

用您 Select 的服务器替换passenger.这会将所有日志(log)重定向到标准输出(您的控制台).

就我个人而言,当我需要判断或排除HTTP请求时,我更喜欢使用更详细的工具.

如果你喜欢命令行,你可以试试curlwget,或者多种浏览器扩展中的一种,它们可以让你轻松地执行请求、判断输出、保存以备将来使用、设置不同的环境等.PostmanAdvanced REST Client都是不错的 Select .

Ruby相关问答推荐

Rb:仅通过在 Ruby 中的类上添加 each 方法,可枚举模块是如何工作的?

如何在 Ruby 中生成子进程?

您如何将 Cucumber 场景标记为待处理

为什么 Ruby 使用 respond_to?而不是 responds_to?

Ruby 中的排序稳定吗?

Ruby 2 中的命名参数

YAML 每个缩进多少个空格?

Ruby 中方法名称的限制是什么?

如何验证 RSpec 中的退出和中止?

Ruby 模板:如何将变量传递到内联 ERB?

在本地覆盖 Vagrant 配置设置(每个开发人员)

如何在不使用循环的情况下按数组中的计数分组

如何在 jekyll markdown 博客中包含视频

如何在器上下文中运行 ruby​​ 脚本?

Ruby - 无法修改冻结的字符串 (TypeError)

Ruby - 用另一个字符串替换第一次出现的子字符串

相当于 Ruby 的 cURL?

我更改存储库 URL 后 Capistrano 部署失败

如何在ruby脚本中隐藏终端的密码输入

你可以在Ruby中使用分号吗?