Hi there!
I'm starting to use Net::Http.
I'm fetching an image from a page with the following code
Net::HTTP.start(address) do |http|
#req = Net::HTTP::Get.new('http://a page')
req = Net::HTTP::Get.new('http://a page/a_image.JPG')
req.basic_auth 'user', 'password'
response = http.request(req) file = File.new('file.jpg',"w")
file.write(response.body)
file.close
the problem is that the file created has additional info and the image can't be readed.. Any idea what I'm doing wrong?
···
--
Este correo esta libre de virus!
Open the file in binary mode to write the image:
Net::HTTP.start(address) do |http|
#req = Net::HTTP::Get.new('http://a page')
req = Net::HTTP::Get.new('http://a page/a_image.JPG')
req.basic_auth 'user', 'password'
response = http.request(req)
file = File.new('file.jpg',"w")
file.write(response.body)
file.close
Instead of the above 3 lines:
File.open('file.jpg, 'wb') { |f| f.write response.body }
Which will open the file for binary writing and close it for you after
the block is executed.
BTW, the argument for Get.new can be just the path of the image on the
site, without the http://site part.
HTH,
Assaph
Thank! it was really helpful! now it is running ok.
Marcelo
Assaph Mehr escribió:
···
Open the file in binary mode to write the image:
Net::HTTP.start(address) do |http|
#req = Net::HTTP::Get.new('http://a page')
req = Net::HTTP::Get.new('http://a page/a_image.JPG')
req.basic_auth 'user', 'password'
response = http.request(req)
file = File.new('file.jpg',"w")
file.write(response.body)
file.close
Instead of the above 3 lines:
File.open('file.jpg, 'wb') { |f| f.write response.body }
Which will open the file for binary writing and close it for you after
the block is executed.
BTW, the argument for Get.new can be just the path of the image on the
site, without the http://site part.
HTH,
Assaph
--
Este correo esta libre de virus!