Setting HTTP Headers


#1

Hi All

I’ve read the Pickaxe and the Ruby Docs but for the life of me I can’t
figure out an easy way of setting the headers of my HTTP
request/connection. I see a class called HTTPHeader and I see some
methods
have an “initheader” parameter but I was expecting there to be a simple
way
of ‘adding’ headers at any point in the script. Possible switching them
and
replacing with other values.

Does anyone know of a way?

Many thanks for your help.

Doug


#2
  • Doug B. (removed_email_address@domain.invalid) wrote:

Hi All

I’ve read the Pickaxe and the Ruby Docs but for the life of me I can’t
figure out an easy way of setting the headers of my HTTP
request/connection. I see a class called HTTPHeader and I see some methods
have an “initheader” parameter but I was expecting there to be a simple way
of ‘adding’ headers at any point in the script. Possible switching them and
replacing with other values.

“By adding headers at any point in the script?” Just to be sure, we talk
about http?

I think its not that problem to hack somethink like you want. But if
in pure ruby, just do it yourself :slight_smile:

Many thanks for your help.

Doug

So far

Michael Trommer http://ackro.com
http://polis.ackro.org
~
The reason ESP, for example, is not considered a viable topic in
contemoprary
psychology is simply that its investigation has not proven
fruitful…After
more than 70 years of study, there still does not exist one example of
an ESP
phenomenon that is replicable under controlled conditions. This simple
but
basic scientific criterion has not been met despite dozens of studies
conducted
over many decades…It is for this reason alone that the topic is now of
little
interest to psychology…In short, there is no demonstrated phenomenon
that
needs explanation.
– Keith E. Stanovich, “How to Think Straight About Psychology”, pp.
160-161


#3

On Wednesday 07 June 2006 19:27, Doug B. wrote:

Hi All

I’ve read the Pickaxe and the Ruby Docs but for the life of me I can’t
figure out an easy way of setting the headers of my HTTP
request/connection. I see a class called HTTPHeader and I see some methods
have an “initheader” parameter but I was expecting there to be a simple way
of ‘adding’ headers at any point in the script. Possible switching them
and replacing with other values.
There’s an example for setting headers using open-uri in the ruby docs:
http://ruby.outertrack.com/file/ruby-1.8.4%2Flib%2Fopen-uri.rb

open(“http://www.ruby-lang.org/en/”,
“User-Agent” => “Ruby/#{RUBY_VERSION}”,
“From” => “removed_email_address@domain.invalid”,
“Referer” => “http://www.ruby-lang.org/”) {|f|

}

If you’re using Net:HTTP directly, initheader is a hash of header
values. It’s
really not documented too well there. Unless you feel you need to use
Net:HTTP, I recommend you use open-uri instead, it does a lot more work
for
you. I’m not sure what you mean by the last part of your question, but
you
can certainly store your hash in a variable and modify it during your
script’s execution as necessary.

Many thanks for your help.
I hope I’ve gone some way to answering your question.

Doug
Alex


#4

On Wednesday 07 June 2006 20:37, Dan D. wrote:

… It’s really not documented too well there.

Can open-uri do POSTs? I am pretty sure the answer is no but I would like a
definitive answer from someone who is very familiar with open-uri.
http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/
Documentation may be lacking in some areas, but you can rely on RDoc to
at
least generate a list of all public methods. I’m afraid OpenURI is
read-only “for the moment”
http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/classes/OpenURI/OpenRead.html#M000783

Wanting to do POST requests might be a good reason to use Net:HTTP open
open-uri :slight_smile:

Alex


#5

… It’s really not documented too well there.

Can open-uri do POSTs? I am pretty sure the answer is no but I would
like a definitive answer from someone who is very familiar with
open-uri.