Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Perl tcp client error

0 views
Skip to first unread message

fabris

unread,
Mar 20, 2005, 11:35:35 AM3/20/05
to
I've a problem with this code
that just hangs while sending the
binary data to the server.
I need to know how to prevent this lock.

Tnx for your help into solving this problem

Fabris.


---code---

use Socket;

#use strict;

my $myhostname = "localhost";

$filetouploadname = "Untitled-3.psd";

$uploaddescr = "untitolo";

$uploadaffirm = "1";

my $port = 80;

$ufilesize = -s $filetouploadname ;

($g, $g, $proto) = getprotobyname("tcp");

($g, $g, $g, $g, $rawserver) = gethostbyname($myhostname);

$serveraddr = pack("Sna4x8", 2, $port, $rawserver);

socket(SOCKET, AF_INET, SOCK_STREAM, $proto) || die "No socket: $!";

connect(SOCKET, $serveraddr) || die "cannot connect";

select(SOCKET); $| = 1; # flush immediatelly SOCKET data

select(STDOUT); $| = 1;

$cont_len = length($uploaddescr) + length($uploadaffirm) + $ufilesize;

$string_to_send = "POST it.php HTTP/1.1\n"

. "Host: " . $myhostname . ":" . $port . "\n"

. "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\n"

. "Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=
0.8,image/png,*/*;q=0.5\n"

. "Accept-Language: en-us,en;q=0.5\n"

. "Accept-Encoding: gzip,deflate\n"

. "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\n"

. "Keep-Alive: 300\n"

. "Connection: close\n"

. "Content-Type: multipart/form-data;
boundary=---------------------------20106283638626\n"

. "Content-Length: " . $cont_len . "\n"

. "\n\n-----------------------------20106283638626\n"

. "Content-Disposition: form-data; name=\"uplFile\"; filename=\"" .
$filetouploadname . "\"\n"

. "Content-Type: application/octet-stream\n\n";

open(IN, "<" . $filetouploadname ) or print "cannot open file ---> $!";

binmode(IN);

while (read(IN,$b,1024)) { $string_to_send .= $b; }

close(IN);

$string_to_send .= "\nContent-Disposition: form-data; name=\"upltitle\"\n"

. "\n-----------------------------20106283638626\n"

. "\n" . $uploaddescr . "\n"

. "-----------------------------20106283638626\n"

. "Content-Disposition: form-data; name=\"uplbody\"\n"

. "\n" . $uploadaffirm . "\n"

. "-----------------------------20106283638626\n"

. "Content-Disposition: form-data; name=\"uplsubmit\"\n"

. "\nUpload file\n"

. "-----------------------------20106283638626--\n";

print SOCKET $string_to_send;

print "OK";

close SOCKET;

exit();

---code---


Marco A P D'Andrade

unread,
Mar 22, 2005, 3:48:12 PM3/22/05
to
Verify use of LWP::UserAgent or LWP::Simple...

engl....@duskmail.com

unread,
Apr 10, 2005, 4:29:40 AM4/10/05
to
0 new messages