It works as long as I include the query parameters as part of the @uri
string, but to me that doesn't seem like an elegant approach.
I could just append the parameters to the end of the URI as part of the
call() method (right now it has no parameters, but I could change it to
something like call(params) which accepts a hash and manually append
them to the URI before calling the GET method.
I'm just hoping that there's an easier, or more standard way of doing
it.
Anyone ever run into something similar and has an elegant solution?
I'm sure this is a newb question, but I've spent the last two hours
trying to figure out how to set the query paramters on an HTTP GET
request.
You have a couple options depending on what sort of input you're
dealing with.
uri = URI.parse('hello - Google Search)
# or: uri = URI::HTTP.build({:host => 'www.google.com', :path => '/
search', :query => 'q=hello'})
Net::HTTP.start(uri.host) do |http|
response = http.get(uri.request_uri)
# ...
end
However, as far as I know, there isn't a method that will do a GET in
a similar way to the POST methods (i.e. you can't pass a hash of name/
value pairs). To make that happen, you'll need another method. Perhaps
something like this:
It works as long as I include the query parameters as part of the @uri
string, but to me that doesn't seem like an elegant approach.
I could just append the parameters to the end of the URI as part of the
call() method (right now it has no parameters, but I could change it to
something like call(params) which accepts a hash and manually append
them to the URI before calling the GET method.
I'm just hoping that there's an easier, or more standard way of doing
it.
Anyone ever run into something similar and has an elegant solution?
--
Posted viahttp://www.ruby-forum.com/.