Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > downloading a file

Reply
Thread Tools

downloading a file

 
 
Rajinder Yadav
Guest
Posts: n/a
 
      12-20-2010
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

 
Reply With Quote
 
 
 
 
zuerrong
Guest
Posts: n/a
 
      12-20-2010
2010/12/20 Rajinder Yadav <(E-Mail Removed)>:
> 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

 
Reply With Quote
 
 
 
 
Brian Candler
Guest
Posts: n/a
 
      12-20-2010
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]

--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Rajinder Yadav
Guest
Posts: n/a
 
      12-20-2010
On Mon, Dec 20, 2010 at 6:11 AM, Brian Candler <(E-Mail Removed)> wrote:
> 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

 
Reply With Quote
 
Brian Candler
Guest
Posts: n/a
 
      12-20-2010
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.

--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Rajinder Yadav
Guest
Posts: n/a
 
      12-20-2010
On Mon, Dec 20, 2010 at 1:10 PM, Brian Candler <(E-Mail Removed)> wrote:
> 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

 
Reply With Quote
 
Rajinder Yadav
Guest
Posts: n/a
 
      12-20-2010
On Mon, Dec 20, 2010 at 1:19 PM, Rajinder Yadav <(E-Mail Removed)> wrote=
:
> On Mon, Dec 20, 2010 at 1:10 PM, Brian Candler <(E-Mail Removed)> wrot=

e:
>> 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

 
Reply With Quote
 
John W Higgins
Guest
Posts: n/a
 
      12-20-2010
[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......

 
Reply With Quote
 
Rajinder Yadav
Guest
Posts: n/a
 
      12-20-2010
On Mon, Dec 20, 2010 at 1:42 PM, John W Higgins <(E-Mail Removed)> wrote:
> 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......
>


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

 
Reply With Quote
 
Quintus
Guest
Posts: n/a
 
      12-20-2010
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

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
problem in downloading exe file from website tushar.n.patel@gmail.com ASP .Net 0 09-26-2005 12:24 PM
Downloading a file from a website Chris Morrison ASP .Net 3 12-31-2003 06:05 AM
Downloading a file Steven ASP .Net 2 08-02-2003 07:10 PM
Downloading a file to client Ian Gordon ASP .Net 2 07-30-2003 10:15 PM
Downloading a file... Ian Gordon ASP .Net 0 07-30-2003 09:17 PM



Advertisments