系统调用curl并不显示ruby脚本的输出

时间:2012-09-14 10:37:27

标签: ruby curl

我有一个ruby脚本:

#!/usr/bin/env ruby

`curl -X GET http://host/someurl'

运行此脚本时,响应不会显示在终端上:

$ ./script.rb 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   146    0   146    0     0     73      0 --:--:--  0:00:01 --:--:--    73
$ 

服务器确实发送了一些数据。如果我提供-o来卷曲:

`curl -X GET -o <some_file> http://host/someurl'

some_file包含服务器响应。同样适用于POST请求:

`curl -X POST --data-binary @some_file http://host/someurl'

显示终端的响应。知道我怎么解决这个问题吗?

2 个答案:

答案 0 :(得分:3)

只是把它

puts `curl -X GET http://host/someurl`

答案 1 :(得分:0)

你有一个拼写错误关闭你的反击shell命令。你想要:

`curl -X GET http://host/someurl`

您使用的是单引号而不是尾随勾号。这会导致表达式无法终止。