草庐IT

MONGOLAB_URI

全部标签

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)) 最佳答案

ruby - 我如何猴子修补 ruby​​ 的 URI.parse 方法

一些流行的博客网站通常在他们的URL中使用方括号,但ruby​​的内置URI.parse()方法会阻塞它们,引发一个讨厌的异常,如下所示:http://redmine.ruby-lang.org/issues/show/1466我正在尝试编写一个简单的monkey-patch,它可以优雅地处理带有方括号的URL。以下是我目前所拥有的:require'uri'moduleURIdefself.parse_with_safety(uri)safe_uri=uri.replace('[','%5B')safe_uri=safe_uri.replace(']','%5D')URI.parse_

javax.xml.bind.UnmarshalException : unexpected element (uri :"", 本地 :"Group")

unexpectedelement(uri:"",local:"Group").Expectedelementsare从xml解码时遇到异常JAXBContextjc=JAXBContext.newInstance(Group.class);Unmarshallerunmarshaller=jc.createUnmarshaller();Groupgroup=(User)unmarshaller.unmarshal(newFile("group.xml"));Group类没有任何注解,group.xml只包含数据。有什么原因吗? 最佳答案

javax.xml.bind.UnmarshalException : unexpected element (uri :"", 本地 :"Group")

unexpectedelement(uri:"",local:"Group").Expectedelementsare从xml解码时遇到异常JAXBContextjc=JAXBContext.newInstance(Group.class);Unmarshallerunmarshaller=jc.createUnmarshaller();Groupgroup=(User)unmarshaller.unmarshal(newFile("group.xml"));Group类没有任何注解,group.xml只包含数据。有什么原因吗? 最佳答案

java - 如何将 URI 传递给 Intent ?

我正在尝试将URI-Object传递给我的Intent以使用该URI在另一个Activity中。如何传递URI?privateUriimageUri;....Intentintent=newIntent(this,GoogleActivity.class);intent.putExtra("imageUri",imageUri);startActivity(intent);this.finish();我现在如何在我的其他Activity中使用此URI?imageUri=extras.getString("imageUri");//Iknowthatswrong...