草庐IT

ruby - 如何通过 http 使用 Ruby 访问 URL 并读取输出?

到目前为止,我已经能够将它们拼接在一起:)beginopen("http://www.somemain.com/"+path+"/"+blah)rescueOpenURI::HTTPError@failure+=painting.permalinkelse@success+=painting.permalinkend但是我如何读取我要调用的服务的输出呢? 最佳答案 Open-URI扩展了open,因此您将获得一种返回的IO流:open('http://www.example.com')#=>#你必须阅读它才能获得内容:open('h

ruby-on-rails - Ruby on Rails URL 格式

我有一个RubyonRails应用程序,您可以在其中创建“帖子”。我开始使用脚手架生成器来生成标题(字符串)和正文(内容)。每个“帖子”都有一个id的url,例如/1、/2、/3等。有没有办法将其更改为一串随机字符,例如/49sl、/l9sl等?更新这是我为posts_controller.rb准备的classPostsController 最佳答案 Rails使用ActiveRecord对象的to_param方法将其解析为URL。假设您有办法生成这些唯一ID(将其称为IdGenerator),您可以执行以下操作:1-每当您持久化一

ruby-on-rails - 在 html 字符串中自动链接 URL 和图像

你好,我有一个这样的字符串:"http://vimeo/2342343http://nerto.it/logo.pngtrytowritehttp://vimeo/2234923"我必须将它转换成这样的字符串:"http://vimeo/2342343trytowritehttp://vimeo/2234923"那么我如何获取每个元素并对其进行转换?谢谢 最佳答案 您可以使用auto-linkfunction将链接转换为实际的anchor标记。auto_link(text_to_convert)*注意:方法已弃用或移动此方法已弃用或

ruby - RVM 系统范围的安装脚本 url 已损坏——什么是替换?

我的RVM系统级安装脚本损坏了,无论是LinodeStackScripts还是Chef-soloRecipes的形式。根据RVM网站上的说明,我的脚本以root身份执行以下命令以在系统范围内安装RVM:echo"InstallingRVMsystem-wide">>$logfilebash>/etc/profile上面的关键部分是urlhttp://bit.ly/rvm-install-system-wide。截至今天,2011年3月24日,此网址不再提供服务。它会导致GitHub404错误。RVM网站上的以下URL用于包含系统范围安装的说明:http://rvm.beginrescu

ruby - 在没有机架的情况下运行 Capybara 在使用 url 参数时会产生错误

这是我的设置,基于此建议:HowtogetCucumber/Capybara/Mechanizetoworkagainstexternalnon-railssite在我将参数添加到URL之前它一直有效。对解决这个问题有什么建议吗?require'rspec'require'capybara/rspec'require'capybara/dsl'@test_url="test"RSpec.configuredo|config|config.includeCapybara::DSLendCapybara.configuredo|config|config.run_server=falsec

ruby - 我可以使用什么正则表达式从 Ruby 中的 url 获取域名?

我正在尝试构建一个正则表达式来提取给定url的域。对于:http://www.abc.google.com/http://abc.google.com/https://www.abc.google.com/http://abc.google.com/应该给:abc.google.com 最佳答案 URI.parse('http://www.abc.google.com/').host#=>"www.abc.google.com"不是正则表达式,但可能比我们在这里提出的任何东西都更健壮。URI.parse('http://www.ab

ruby - 如何将哈希连接到 URL 参数?

一个快速的Ruby问题:params={:q=>"Aquery",:foo=>"bar",:nasty=>"Schrödinger'scat"}pdo_it(params)=>q=A%20query&foo=bar&nasty=Schr%C3%B6dinger%27s+cat(我认为ö是这样编码的,如果错了,请原谅)有没有比下面的更简单的方法来做到这一点?:defdo_it(params)out=[]params.each_pair{|key,val|out.push"#{CGI.escape(key.to_s)}=#{CGI.escape(val)}"}out.join("&")en

ruby - 在 Ruby 中提取字符串中的所有 url

我有一些文本内容,其中包含一个URL列表。我正在尝试抓取所有URL并将它们放入一个数组中。我有这个代码content="HereisthelistofURLs:http://www.google.comhttp://www.google.com/index.html"urls=content.scan(/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix)我试图让最终结果是:['http://www.google.com','http://www.google.com/

ruby-on-rails - Rails 中确定两个(或更多)给定 URL(作为字符串或哈希选项)是否相等的最佳方法是什么?

我想要一个名为same_url的方法?如果传入的URL相等,它将返回true。传入的URL可能是参数选项散列或字符串。same_url?({:controller=>:foo,:action=>:bar},"http://www.example.com/foo/bar")#=>trueRails框架助手current_page?似乎是一个很好的起点,但我想传入任意数量的URL。作为一个额外的好处,如果可以传入要从比较中排除的参数的哈希值,那就太好了。因此方法调用可能如下所示:same_url?(projects_path(:page=>2),"projects?page=3",:exc

ruby-on-rails - 清理 URL 以防止 Rails 中的 XSS

在Rails应用程序中,用户可以创建事件并发布URL以链接到外部事件站点。如何清理url以防止XSS链接?提前致谢XSS示例,rails的清理方法无法防止@url="javascript:alert('XSS')"">testlink 最佳答案 一旦href已经在标签中,请尝试清理:url="javascript:alert('XSS')"sanitizelink_to('xsslink',url)这给了我:xsslink 关于ruby-on-rails-清理URL以防止Rails中的X