downloading a file

R

Rajinder Yadav

hello what is the best way to download a file?

if the process get interrupted like the network goes down for a little
while, is there a way to continue the download from the point it left off?

I am seeking various solutions, thanks!

--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-23-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.3
 
Z

zuerrong

2010/12/20 Rajinder Yadav said:
hello what is the best way to download a file?

if the process get interrupted like the network goes down for a little
while, is there a way to continue the download from the point it left off?

what protocal shall be used?
consider:

Net::HTTP
Net::FTP
 
B

Brian Candler

Rajinder Yadav wrote in post #969503:
hello what is the best way to download a file?

if the process get interrupted like the network goes down for a little
while, is there a way to continue the download from the point it left
off?

Use wget [-c]
 
R

Rajinder Yadav

Rajinder Yadav wrote in post #969503:
hello what is the best way to download a file?

if the process get interrupted like the network goes down for a little
while, is there a way to continue the download from the point it left
off?

Use wget [-c]

ruby has a wget command? i want to do this from ruby code, and with no
backquote either

--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1
 
B

Brian Candler

Rajinder Yadav wrote in post #969592:
Use wget [-c]

ruby has a wget command? i want to do this from ruby code, and with no
backquote either

I was thinking of:

system("wget ....")

If you don't have wget on your system, I'm afraid I don't know of an
existing Ruby library which does download-to-file with restarting of
partial transfers.

You can cobble something together using Net::HTTP, but to do the
restarts you'll have to use the set_range method to add the Range:
header - see RFC 2616 section 14.35.

Note that old HTTP servers may ignore the Range: header, so you should
check that the response content_range is what you asked for.
 
R

Rajinder Yadav

Rajinder Yadav wrote in post #969592:
Use wget [-c]

ruby has a wget command? i want to do this from ruby code, and with no
backquote either

I was thinking of:

=A0 =A0system("wget ....")

If you don't have wget on your system, I'm afraid I don't know of an
existing Ruby library which does download-to-file with restarting of
partial transfers.

You can cobble something together using Net::HTTP, but to do the
restarts you'll have to use the set_range method to add the Range:
header - see RFC 2616 section 14.35.

Note that old HTTP servers may ignore the Range: header, so you should
check that the response content_range is what you asked for.

well if i just want to download a file, is there something i can use
that is simple?

i tired using open-uri, but when i read and then save the file it mess
up the file? something like this

require 'open-uri'
url =3D 'http://www.openssl.org/source/openssl-1.0.0c.tar.gz'
file =3D open(url)
c =3D file.read

f =3D File.open('openssl-1.0.0c.tar.gz', 'w')
f.write c
f.close


--=20
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1
 
R

Rajinder Yadav

Rajinder Yadav wrote in post #969592:
Use wget [-c]

ruby has a wget command? i want to do this from ruby code, and with no
backquote either

I was thinking of:

=A0 =A0system("wget ....")

If you don't have wget on your system, I'm afraid I don't know of an
existing Ruby library which does download-to-file with restarting of
partial transfers.

You can cobble something together using Net::HTTP, but to do the
restarts you'll have to use the set_range method to add the Range:
header - see RFC 2616 section 14.35.

Note that old HTTP servers may ignore the Range: header, so you should
check that the response content_range is what you asked for.

well if i just want to download a file, is there something i can use
that is simple?

i tired using open-uri, but when i read and then save the file it mess
up the file? something like this

require 'open-uri'
url =3D 'http://www.openssl.org/source/openssl-1.0.0c.tar.gz'
file =3D open(url)
c =3D file.read

f =3D File.open('openssl-1.0.0c.tar.gz', 'w')
f.write c
f.close

i'm wondering if there is libcurl solution out there that will
download files, both binary and text?

--=20
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1
 
J

John W Higgins

[Note: parts of this message were removed to make it a legal post.]

Good Morning

i'm wondering if there is libcurl solution out there that will
download files, both binary and text?

I'm sure you might have heard of this great new website that was created 12+
years ago - GOOGLE. At that very website if someone like yourself entered -
ruby download file - you might find these things called websites that
actually contain information pertaining to the exact subject you asked
Google about.

John

P.S. Just for fun you may also wish to get wacky and try - ruby libcurl -
who knows what those 11 letters will find for you......
 
R

Rajinder Yadav

Good Morning



I'm sure you might have heard of this great new website that was created 12+
years ago - GOOGLE. At that very website if someone like yourself entered -
ruby download file - you might find these things called websites that
actually contain information pertaining to the exact subject you asked
Google about.

John

P.S. Just for fun you may also wish to get wacky and try - ruby libcurl -
who knows what those 11 letters will find for you......

WOW IS TODAY ASSHOLE DAY, I MISSED THE MEMO????


--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1
 
Q

Quintus

Am 20.12.2010 19:19, schrieb Rajinder Yadav:
i tired using open-uri, but when i read and then save the file it mess
up the file? something like this

require 'open-uri'
url = 'http://www.openssl.org/source/openssl-1.0.0c.tar.gz'
file = open(url)
c = file.read

f = File.open('openssl-1.0.0c.tar.gz', 'w')
f.write c
f.close

Try

file = open(url, "rb")

instead of

file = open(url)

and

f = File.open('openssl-1.0.0c.tar.gz', 'wb')

instead of

f = File.open('openssl-1.0.0c.tar.gz', 'w')

You're downloading a binary file, and Ruby will do bad things to
newlines in it if you don't pass the "b" for binary.
Additionally you should have a look at the block form of #open.

Vale,
Marvin
 
R

Rajinder Yadav

Am 20.12.2010 19:19, schrieb Rajinder Yadav:

Try

file = open(url, "rb")

instead of

file = open(url)

and

f = File.open('openssl-1.0.0c.tar.gz', 'wb')

instead of

f = File.open('openssl-1.0.0c.tar.gz', 'w')

. You're downloading a binary file, and Ruby will do bad things to
newlines in it if you don't pass the "b" for binary.
Additionally you should have a look at the block form of #open.

Vale,
Marvin

Thanks Vale,

that makes sense, i also just found out I can use context_type() to
figure out the file type!

--
Kind Regards,
Rajinder Yadav | DevMentor.org | Do Good! ~ Share Freely

GNU/Linux: 2.6.35-22-generic
Kubuntu x86_64 10.10 | KDE 4.5.1
Ruby 1.9.2p0 | Rails 3.0.1
 
R

Rajinder Yadav

Thanks Vale,

that makes sense, i also just found out I can use context_type() to
figure out the file type!

Thanks Marvin, tired eyes got the name wrong =)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top