草庐IT

taglib-uri

全部标签

ruby-on-rails - Ruby 的错误 URI

我正在对FacebookAPI进行Oauth调用以获取access_tokendefaccess_tokentoken_uri=URI("https://graph.facebook.com/oauth/access_token?client_id=#{CLIENT_ID}&client_secret=#{CLIENT_SECRET}&grant_type=client_credentials")token_response=HTTParty.get(token_uri)Rails.logger.info(token_response)returntoken_responseend我收

ruby-on-rails - 尽管 URI 正确,但 Gravatar 图像未显示 - Ruby on Rails

我正在学习MichaelHartlRails教程,但在“添加Gravatar”部分遇到了一个奇怪的问题。我已经根据我为另一个教程所做的Rails中Gravatar的另一个实现检查了代码,但看不出有什么不同。基本上:图像不会出现,但如果您右键单击空格并访问URL,它会定向到正确的Gravatar页面。代码:(show.html.erb)代码:(users_helper.rb)defgravatar_for(user,options={size:50})size=options[:size]gravatar_id=Digest::MD5::hexdigest(user.email.down

ruby-on-rails - Ruby URI::InvalidURIError: Bad URI(is not URI?) 除了编码

我知道这是一个常见的错误,我正在使用一个已知的解决方案,但它仍然给我同样的错误:require'open-uri'url="http://website.com/dirs/filex[a]"safeurl=URI.parse(URI.encode(url))...给出URI::InvalidURIError:badURI(isnotURI?):我知道是[和]字符导致的。但是URI.encode没有做任何事情我做错了什么? 最佳答案 我认为您的意思是需要uri,而不是open-uri。另外,accordingtothedocument

ruby - 使用 ruby​​(使用 Addressable Gem)显示来自规范化 URI 的 IDN

在我的Ruby应用程序中,我需要处理来自用户输入的URI(实际上是IRI)str="http://उदाहरण.परीक्षा/मुख्य_पृष्ठ"我使用Addressable规范化这些,并且只存储规范化的形式:normalized=Addressable::URI.parse(str).normalizenormalized.to_s#=>http://xn--p1b6ci4b4b3a.xn--11b5bs3a9aj6g/%E0%A4%AE%E0%A5%81%E0%A4%96%E0%A5%8D%E0%A4%AF_%E0%A4%AA%E0%A5%83%E0%A4%B7%E0%A5%

ruby - ruby open-uri HTTP Streaming 是否会限制下载或保存到临时文件?

我在服务器上有一个很大的CSV文件,我想分块下载和处理,而不是将整个文件读入内存。经过一番努力后,我想出了这个:requireopen-uriopen("http://example.com/#{LARGE_CSV_FILE}")do|file|file.each_slice(50_000)do|fifty_thousand_lines|MyModel.importfifty_thousand_lines.joinendend我的理解是open-uri的#open将包装HTTPGET并返回类似IO的可枚举对象。#each_slice(n)一次将n行数组传递给block。然后我加入并处理

ruby - RSpec 和 Open-URI 我如何模拟引发 SocketError/TimeoutError

我希望能够说明当Open-Uriopen()调用超时或引发诸如SocketError之类的异常时,我正在按预期处理事情,但是我在这方面遇到了麻烦。这是我的规范(针对SocketError):@obj.should_receive(:open).with("some_url").and_raise(SocketError)以及我使用open-uri的对象部分:beginresp=open(url)resp=resp.readrescueSocketErrorsomething=trueend然而,在这种情况下,规范会失败,出现nil.read错误。这是我这周第二次遇到这个问题,上一次我试

ruby - 在 Mongrel 处理程序的 URI 中使用正则表达式

我目前正在使用Mongrel开发自定义Web应用程序项目。我希望Mongrel使用基于正则表达式的已定义Http处理程序。例如,每当有人调用类似http://test/bla1.js的url时或http://test/bla2.js调用相同的Http处理程序来管理请求。到目前为止,我的代码看起来是这样的:http_server=Mongrel::Configurator.new:host=>config.get("http_host")dolistener:port=>config.get("http_port")douriRegexp.escape("/[a-z0-9]+.js"),

ruby - 使用 Nokogiri/Open URI 获取动态生成的 HTML

我正在尝试通过在Chrome中查看网站的HTML并使用Nokogiri抓取数据来抓取网站。问题是一些标签是动态生成的,并且在使用open-uri时它们不会出现在open(url)请求中。有没有办法“强制”站点动态生成其内容以供openuri之类的工具读取? 最佳答案 如果通过open-uri读取它没有产生您需要的内容,那么客户端很可能正在使用Javascript生成内容。这可能是个好消息-通过检查页面发出的AJAX请求,您可能会找到您要查找的内容的JSON提要,然后您可以直接请求和解析它。这将使您无需深入挖掘HTML即可获取数据-非

ruby - `URI` 和 `URI.parse` 之间的区别

URI和URI.parse有什么区别?这是我得到的:require'uri'x="http://google.com"y=URI(x)#=>#z=URI.parse(x)#=>#y==z#=>true我在docs中看到URI的新实例从通用组件创建一个新的URI::Generic实例,无需检查,并且它在args中有一个默认解析器。一般推荐好像是URI.parse,我想知道为什么。我想知道使用URI而不是使用URI.parse是否有任何陷阱。感谢任何见解。相关:HowtoParseaURL,ParseURLtoGetMainDomain,ExtractHostfromURLstring.

ruby-on-rails - 使用 `open-uri` 打开带逗号的 WIKI URL

我遇到了OpenURI::HTTPError:403Forbidden错误当我尝试用逗号(或其他特殊字符,如.)打开URL时。我可以在浏览器中打开相同的url。require'open-uri'url="http://en.wikipedia.org/wiki/Thor_Industries,_Inc."f=open(url)#throwsOpenURI::HTTPError:403Forbiddenerror如何转义这样的URL?我尝试使用CGI::escape转义url,但我得到了同样的错误。f=open(CGI::escape(url)) 最佳答案