eat
Problems with the standard open-uri
library
-
sometimes it returns
String
and sometimesStringIO
(check outOpenURI::Buffer::StringMax
, usually 10,240 bytes) -
sometimes you have to call
gets
(for exampleopen('http://yahoo.com').gets
) -
it overrides
#open
everywhere, which may be confusing.
Try #eat
, which ALWAYS returns a String
:
require 'eat'
eat('http://yahoo.com') #=> String
eat('/home/seamus/foo.txt') #=> String
eat('file:///home/seamus/foo.txt') #=> String
Options
eat('http://yahoo.com', :timeout => 10) # timeout after 10 seconds
eat('http://yahoo.com', :limit => 1024) # only read the first 1024 chars
eat('https://yahoo.com', :openssl_verify_mode => 'none') # don't bother verifying SSL certificate
Warning: DOES verify SSL certs
If you want to disable verification of SSL certificates, use
:openssl_verify_mode => 'none'
Thanks @codahale and @peterc for their suggestions.
Supported schemas
-
local filesystem
-
http
-
https
Copyright 2011 Seamus Abshere