Are you trying to download and save the file or display it?
If you are trying to display it make sure you have the proper Content-type: image/gif
header before any other output.
If you are trying to download it then try Net:FTP, much sexier for file tranfers.
Dan
>
>
> I'm trying to write a script that will open a socket
> connection to a website and return a gif. I got it working
> to the point where and send the request and receive the
> response, I was able to remove the HTTP headers the only
> problem is that the GIF wont display properly. I downloaded
> the gif via my browser and compared the files and the are
> identical. Does it have something to do with the file to
> being binary or something because I tried to set the mode to
> raw and that had no effect. Any help would be appreciated.
> Code Below:
>
> #!/usr/bin/perl -w
>
>
>
> use strict;
>
> use IO::Socket::INET;
> use open IN => ":raw", OUT => ":raw";
>
> #Local variable declarations
> my $socket;
> my $request;
> my $symbol;
> my $chart;
> my $time = 8;
> my $freq = 1;
>
> foreach $symbol (@ARGV)
> {
> #request string
> $request = "GET
> /bc3/quickchart/chart.asp?symb=".$symbol."&compidx=aaaaa%3A0&m
> a=0&maval=
> 9&uf=0&lf=1&lf2=0&lf3=0&";
> $request = $request."&size=2&state=8&sid=1414&style=320";
> $request =
> $request."&time=".$time."&freq=".$freq."&nosettings=1&rand=300
> &mocktick=
> 1&rand=1796 HTTP/1.0\n\n";
>
> #open socket and out file
> $socket = IO::Socket::INET->new("chart.bigcharts.com:80");
> open(CHARTFILE, ">".$symbol.".gif");
>
> # send the request
> print $socket $request;
>
> #debug print
> print $request;
>
> #read from the socket and stuff into the chart scalar
>
> while (<$socket>)
> {
> $chart = $chart.$_;
> }
>
> #take off the header
> $chart = substr($chart, index($chart, "private"));
> $chart = substr($chart, index($chart, "\n"));
> $chart = substr($chart, 2);
>
> #print the gif to a local file
> print CHARTFILE $chart;
>
> #close the socket
> close($socket);
>
> # reset the chart scalar
> $chart = "";
> }
>
> exit;
>
> Thanks,
>
> Shawn Bower
>
> Advent Designs
> [EMAIL PROTECTED]
> TEL: 607-937-5081
> FAX: 607-9375081
> www.advws.net
>
>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]