【问题标题】:How to get the output of curl [duplicate]如何获得curl的输出[重复]
【发布时间】:2021-05-23 08:28:03
【问题描述】:

我正在使用系统 curl,因为我无法让 ruby​​ curl 工作。如何将 curl 的输出输入到我的 ruby​​ 变量中?下面的例子说明变量没有得到curl的输出

url1="\"https://ca.yahoo.com/\""
a=Kernel.system "curl #{url1}"
irb(main):026:0> a
=> true

【问题讨论】:

    标签: ruby


    【解决方案1】:

    Kernel#system 不捕获标准输出

    Kernel#system 仅返回 true、false 或 nil,因此您无法以这种方式捕获命令输出。相反,使用Kernel#`(或其替代%x{} 语法)来捕获标准输出。例如:

    url    = 'https://ca.yahoo.com/'
    output = %x(curl "#{url}")
    

    对于更复杂的事情,您可能还想查看 Ruby 标准库中的 Open3 module。它有多种支持管道的方法,必要时有不同的方式分别处理标准输入、标准输出和标准错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      相关资源
      最近更新 更多