[Sderby] shell script for retrieving an image file from a remote http server

Mike Hemstock hemstock at tiscali.co.uk
Sat Jul 3 18:16:50 BST 2004


On Saturday 03 July 2004 10:34, Ashley Heath wrote:
> On Sat, 3 Jul 2004 00:12:45 +0100
>
> "Paul Grosse" <paul-grosse at ntlworld.com> wrote:
> > Folks,
> >
> > Does anybody know of a way (using commands that are likely to be found on
> > most people's machines) of retrieving an image file from a remote http
> > host? The commands would have to be representable in the form of a bash
> > script (suitable for running as a cron tab) and I would prefer not to
> > have to have people loading programs onto their machines in order to
> > achieve this.
> >
> > One thing that sprung to mind was the use of telnet (having the telnet
> > command in the shell script) with commands sent to it from its .telnetrc
> > file, redirecting the output to a file which could then have the first
> > bits of code removed as they are not part of the image.
> >
> > Doing this manually, it is something along the lines of...
> > +++++++++++++++++++++++++++
> > ==In BASH...
> > telnet www.xxx.yyy.zzz 80 >[some_directory]/image.png
> >
> > ==In Telnet...
> > GET /image.png HTTP/1.0[return]
> > Host:www.domain.com[return]
> > [return]
> >
> > ==In [some_directory], have a program that...
> > opens the file, finds the content-length data in the header returned by
> > the server.
> >
> > Then, (possibly another program or line(s) of script) starts from the end
> > and counts that number of bytes towards the beginning then trunkates the
> > file, leaving just the image in the file (ie, chops the first bit off,
> > leaving the rest).
> >
> > ==Then, in [some directory] rename the file with the date and time (say,
> > in the form of 20040703000335.jpg)
> > +++++++++++++++++++++++++++
> > and that is all.
> >
> > Is there a bit of perl that is something along the lines of lwp-retrieve
> > ... that will do the first part of this?
> >
> > I think that using telnet is a bit long winded although I don't want to
> > have people loading libraries if they have a nice tight system and don't
> > want loads of other stuff there that might just compromise their
> > security.
> >
> > The idea is that people with web counters can retrieve the image for a
> > certain time of the week, every week without having to do it manually -
> > the only manual part is inspecting the images to collect the counter
> > values.
> >
> > Any ideas anyone???
>
> It would be far easier to use wget (non interactive network downloader),
> should be standard on all Linux distros eg wget
> www.xxx.yyy.zzz/[some_directory]/image.png
>
> Cheers
> Ash

I'll second that.  Alternatively, you could tell the users to open up their 
browsers and look at the frigging thing themselves :-)

Mike.



More information about the Sderby mailing list