HTTPClient download binary file

Hi,

I’m writing a simple program which downloads a resource from the
internet. When I save a file to disk, it always ends up a few bytes
larger than it should be and is thus recognized as a damaged file.

The code I’m using:

require ‘httpclient’
client = HTTPClient.new(nil)
my_file = File.new(“x:\temp\logo2.gif”, “w”)
puts
my_file.write(client.get_content(“http://www.google.com/intl/en_ALL/images/logo.gif”))

puts actually prints the correct size 8558, but when I check the size on
disk it is 8617 bytes.
I’ve also downloaded the file with firefox to check if the increased
file size is due to the filesystem i’m using. When downloaded which
firefox the file is 8558 bytes on disk, so something must be wrong in my
code.

Regards,
DarnDao

Hi,

Aa Aa wrote:

Hi,

I’m writing a simple program which downloads a resource from the
internet. When I save a file to disk, it always ends up a few bytes
larger than it should be and is thus recognized as a damaged file.

The code I’m using:

require ‘httpclient’
client = HTTPClient.new(nil)
my_file = File.new(“x:\temp\logo2.gif”, “w”)
try with:
my_file = File.new(“x:\temp\logo2.gif”, “wb”)

puts
my_file.write(client.get_content(“http://www.google.com/intl/en_ALL/images/logo.gif”))

puts actually prints the correct size 8558, but when I check the size on
disk it is 8617 bytes.
I’ve also downloaded the file with firefox to check if the increased
file size is due to the filesystem i’m using. When downloaded which
firefox the file is 8558 bytes on disk, so something must be wrong in my
code.

Regards,
DarnDao

Regards,
Park H.

Thanks works ok now. Since the b parameter is DOS\Windows only, would
that throw an exception on a non windows OS?

Heesob P. wrote:

Hi,

Aa Aa wrote:

Hi,

I’m writing a simple program which downloads a resource from the
internet. When I save a file to disk, it always ends up a few bytes
larger than it should be and is thus recognized as a damaged file.

The code I’m using:

require ‘httpclient’
client = HTTPClient.new(nil)
my_file = File.new(“x:\temp\logo2.gif”, “w”)
try with:
my_file = File.new(“x:\temp\logo2.gif”, “wb”)

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs