【问题标题】:How to transform a CURL query to OpenURI query with OATH如何使用 OATH 将 CURL 查询转换为 OpenURI 查询
【发布时间】:2017-03-21 03:01:59
【问题描述】:

我的一个项目使用 HTTP 查询返回令牌代码,以便用户在需要时轻松获取和更新它们。我发现一篇文章作者使用 CURL 查询我的主机。

例如:

curl -k -H 'Authorization: Bearer SQ43OPLR79BIQQFN50PA6KI8MVJ77JT685V0S9TTRNNA6RO41DTA6FK7NR1H466C' -H 'User-Agent: api-test-agent' https://api.hh.ru/employers/2062418

它工作并返回一个 JSON 对象。

我需要一个基于 OpenURI 的查询。如何将此 CURL 命令更改为简单的 OpenURI 调用?

【问题讨论】:

  • 欢迎来到 Stack Overflow。虽然您可能会得到答案,但请记住 Stack Overflow 不是“为我将这段代码转换为其他内容”的网站。相反,您应该进行研究并努力进行转换,然后当您遇到特定问题时询问该特定事物。 “How much research effort is expected of Stack Overflow users?”会有所帮助。另外,你的问题很难理解。请花点时间仔细阅读它,因为世界各地的其他人应该都能从中理解。

标签: ruby curl oauth nokogiri open-uri


【解决方案1】:

通过open-uri的等效请求是:

require 'open-uri'

puts open('https://api.hh.ru/employers/2062418',
          'Authorization' => 'Bearer SQ43OPLR79BIQQFN50PA6KI8MVJ77JT685V0S9TTRNNA6RO41DTA6FK7NR1H466C',
          'User-Agent' => 'api-test-agent'
          ).read

【讨论】:

  • 佩里斯你超级棒!极好的!超级!
  • 哦不! /var/www/html/api/tools.rb:30:in `getUrlAuth': 参数数量错误(给定 1,预期为 0)(ArgumentError)
  • 问题似乎是你在调用 getUrlAuth 方法时使用了一个不期望有参数的方法,但这与上面的代码无关
  • 我修复了一个错误。但然后得到另一个。这里是。 /usr/lib/ruby/2.3.0/net/http/header.rb:18:in block in initialize_http_header': undefined method strip' for nil:NilClass (NoMethodError)
  • 第一个参数不为空,我检查了一下。谁是零?
猜你喜欢
  • 1970-01-01
  • 2015-06-13
  • 2017-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
  • 2021-10-11
  • 2021-02-13
相关资源
最近更新 更多