I have used Net::HTTP like this:
Net::HTTP.get 'google.com ', '/index.html'
I would like to pass it a variable instead.
I tried this:
irb(main):001:0> require 'net/http'
=> true
irb(main):002:0> url = String.new
=> ""
irb(main):003:0> url = "'google.com ', '/index.html'"
=> "'google.com ', '/index.html'"
irb(main):004:0> Net::HTTP.get_print(url)
NoMethodError: undefined method `host' for "'google.com ',
'/index.html'":String
from /usr/lib/ruby/1.8/net/http.rb:379:in `get_response'
from /usr/lib/ruby/1.8/net/http.rb:337:in `get_print'
from (irb):4
from :0
How do I pass a variable to Net:HTTP ?
···
--
Posted via http://www.ruby-forum.com/ .
tilde
(tilde)
9 August 2010 05:35
2
url="google.com/index.html"
Net::HTTP.get_print(URI.parse(url))
get and get_print expect an URI, if you don't specify both host and path as strings.
···
On 08/09/10 04:18, Samuel Sternhagen wrote:
url = "'google.com', '/index.html'"
I have used Net::HTTP like this:
Net::HTTP.get 'google.com', '/index.html'
I would like to pass it a variable instead.
You already got your answer, but I wanted to point out that:
irb(main):001:0> require 'net/http'
=> true
irb(main):002:0> url = String.new
=> ""
You don't need to do this, since you are assigning a new value to the
url variable just below. You are creating an object that you don't use
at all.
irb(main):003:0> url = "'google.com', '/index.html'"
=> "'google.com', '/index.html'"
Jesus.
···
On Mon, Aug 9, 2010 at 4:18 AM, Samuel Sternhagen <samatoms@gmail.com> wrote:
Samuel Sternhagen wrote:
I have used Net::HTTP like this:
Net::HTTP.get 'google.com', '/index.html'
I would like to pass it a variable instead.
I tried this:
irb(main):001:0> require 'net/http'
=> true
irb(main):002:0> url = String.new
=> ""
irb(main):003:0> url = "'google.com', '/index.html'"
=> "'google.com', '/index.html'"
Here's another option you could use:
url = ['google.com', '/index.html']
Net::HTTP.get_print(*url)
or more simply:
host = 'google.com'
path = '/index.html'
Net::HTTP.get_print(host, path)
···
--
Posted via http://www.ruby-forum.com/\ .
Samuel Sternhagen wrote:
I have used Net::HTTP like this:
Hi Sam try to use Nokogiri gem
it will be easy (to unterstand) and fast also
···
--
Posted via http://www.ruby-forum.com/\ .
Jesús Gabriel y Galán wrote:
···
On Mon, Aug 9, 2010 at 4:18 AM, Samuel Sternhagen <samatoms@gmail.com> > wrote:
I have used Net::HTTP like this:
Net::HTTP.get 'google.com', '/index.html'
I would like to pass it a variable instead.
You already got your answer, but I wanted to point out that:
irb(main):001:0> require 'net/http'
=> true
irb(main):002:0> url = String.new
=> ""
You don't need to do this, since you are assigning a new value to the
url variable just below. You are creating an object that you don't use
at all.
irb(main):003:0> url = "'google.com', '/index.html'"
=> "'google.com', '/index.html'"
Jesus.
Thanks for the tip Jesus. I used to program in C so I have some bad
habits. I just tried my code without creating all those objects and
everything went fine.
--
Posted via http://www.ruby-forum.com/\ .
Might I suggest reading the first few chapters of the original Pickaxe (Programming Ruby: The Pragmatic Programmer's Guide ) - lets say up to Basic I/O. Although it was written for 1.6 and is woefully out-of-date as a Ruby reference, I always found it gave one of the more digestible explanations of OO and dynamic typing.
Ofcourse you can go right ahead and buy the newest version.
Cheers,
V.-
···
On 09/08/10 09:46 , Samuel Sternhagen wrote:
Thanks for the tip Jesus. I used to program in C so I have some bad
habits. I just tried my code without creating all those objects and
everything went fine.
--
http://www.ampelofilosofies.gr