Ruby 添加';卷曲';指挥西纳特拉和rails?

Ruby 添加';卷曲';指挥西纳特拉和rails?,ruby,curl,Ruby,Curl,(放弃安装路缘。根据其中一位受访者的建议发布新问题) 我以为“curl”是“内置”的,但在sinatra应用程序中出现了一个未定义的方法错误。我需要添加一个宝石吗 Rails3也有同样的问题吗 应用程序是,我必须简单地“点击”一个外部url(http://kickstartme.someplace.com?action=ACTIONNAME&token=XYZXYZXYZ)启动远程进程 外部url以以下格式返回描述成功/失败的XML: <session> <success

(放弃安装路缘。根据其中一位受访者的建议发布新问题) 我以为“curl”是“内置”的,但在sinatra应用程序中出现了一个未定义的方法错误。我需要添加一个宝石吗

Rails3也有同样的问题吗


应用程序是,我必须简单地“点击”一个外部url(http://kickstartme.someplace.com?action=ACTIONNAME&token=XYZXYZXYZ)启动远程进程

外部url以以下格式返回描述成功/失败的XML:

<session>
  <success>true</success>
  <token>xyzxyzxyz</token>
  <id>abcabcabc</id>
</session>

真的
xyzxyzxyz
ABCABC
因此,实际上,我所需要的只是让我的rails和sinatra应用程序点击该url并解析返回的任何内容,并彻底处理远程服务器无法回复的问题。

使用Ruby绑定到libcurl。您无需使用
system
即可获得所有的curl功能

curl -b "auth=abcdef; ASP.NET_SessionId=lotsatext;" example.com
变成

curl = Curl::Easy.new('http://example.com/')
curl.cookies = 'auth=abcdef; ASP.NET_SessionId=big-wall-of-text;'
curl.perform
使用一个Ruby绑定到libcurl。您无需使用
system
即可获得所有的curl功能

curl -b "auth=abcdef; ASP.NET_SessionId=lotsatext;" example.com
变成

curl = Curl::Easy.new('http://example.com/')
curl.cookies = 'auth=abcdef; ASP.NET_SessionId=big-wall-of-text;'
curl.perform

我的开发工具giut bask正在使用windows xp。已经安装了DevKit,并且从未遇到过安装gems的问题。(如果需要构建它们,devkit会自动修改路径)。但它未能在路径中包含DevKit。。。构建本机扩展。这可能需要一段时间。。。错误:安装加铺时出错:错误:无法生成gem本机扩展。***extconf.rb失败***由于某种原因无法创建Makefile,可能是缺少必要的库和/或头。文件说明您首先需要libcurl。libcurl文档说您需要加铺或卷曲多重。尝试“gem install curb multi”失败,消息与尝试“gem install curb”相同我的系统(使用gitbash)确实安装了curl。。。curl--verison返回:curl 7.21.1(i686-pc-mingw32)libcurl/7.21.1 OpenSSL/0.9.8k zlib/1.2.3我正在使用windows xp作为我的开发工具giut bask。已经安装了DevKit,并且从未遇到过安装gems的问题。(如果需要构建它们,devkit会自动修改路径)。但它未能在路径中包含DevKit。。。构建本机扩展。这可能需要一段时间。。。错误:安装加铺时出错:错误:无法生成gem本机扩展。***extconf.rb失败***由于某种原因无法创建Makefile,可能是缺少必要的库和/或头。文件说明您首先需要libcurl。libcurl文档说您需要加铺或卷曲多重。尝试“gem install curb multi”失败,消息与尝试“gem install curb”相同我的系统(使用gitbash)确实安装了curl。。。curl--verison返回:curl 7.21.1(i686-pc-mingw32)libcurl/7.21.1 OpenSSL/0.9.8k zlib/1.2.3为什么不描述您试图解决的更大问题?curl是一个很好的工具,但它不是Ruby中唯一的HTTP连接解决方案。Ruby中还内置了其他模块,如Net/HTTP或Open URI,它们使HTTP变得简单,或者像HTTPClient和Typhous这样的GEM处理多线程连接,或者HttpParty使向类添加HTTP客户端变得简单。这一点非常好。非常感谢。根据您的建议进行编辑。Open-URI是实现这一点的完美工具。如果您需要解析返回的XML,那么看看。为什么不描述一下您试图解决的更大的问题呢?curl是一个很好的工具,但它不是Ruby中唯一的HTTP连接解决方案。Ruby中还内置了其他模块,如Net/HTTP或Open URI,它们使HTTP变得简单,或者像HTTPClient和Typhous这样的GEM处理多线程连接,或者HttpParty使向类添加HTTP客户端变得简单。这一点非常好。非常感谢。根据您的建议进行编辑。Open-URI是实现这一点的完美工具。如果需要解析返回的XML,请查看。在您的需求列表中添加
require'nokogiri'
,然后
doc=nokogiri::XML(response)
即可满足OPs需求。谢谢!那很有帮助。很乐意帮忙@jpwynn,希望有帮助。如果遇到任何Nokogiri问题,请随时寻求帮助。这是一个很好的解析器,但解析可能会让人困惑。在您的需求列表中添加
require'nokogiri'
,然后
doc=nokogiri::XML(response)
,OPs需求就会得到满足。谢谢!那很有帮助。很乐意帮忙@jpwynn,希望有帮助。如果遇到任何Nokogiri问题,请随时寻求帮助。这是一个很好的解析器,但解析可能会让人困惑。