#!/usr/bin/perl use IO::Socket; $host="irgendeine.url"; $port=80; print "Create Socket .... "; socket(SOCKET,PF_INET,SOCK_STREAM,getprotobyname('tcp')) or die "Socket: $!\n"; $addr=sockaddr_in($port,inet_aton($host)); connect(SOCKET,$addr) or die "Connection: $!\n"; if($proxy) { @site=&getpage("GET http://www.url.com HTTP/1.0\n\n"); } else { @site=&getpage("GET / HTTP/1.0\nHost:www.url.com\n\n"); } foreach $temp (@site) { if($temp=~m{irgenein Test}) { push(@temp,$1); print "$1\n"; } } #bis hier Funktioniert es ohne Probleme $send="POST /irgendein.Script HTTP/1.0\r\nHost: www.url.com\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040413 Debian/1.6-5\r\nAccept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1\r\nAccept-Language: de-ch\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\nReferer: http://www.url.com/irgeindein.script\r\n"; $send2="Content-Type: application/x-www-form-urlencoded\nContent-Length: 69\r\n\nDaten die gesendet werden"; &getpage("$send"); @after=&getpage("$send2"); #in ethereal sieht der gesendete Befehl genau gleich aus wie der von Mozilla aus #Aber ich erhalte kein HTTP/1.0 200 OK foreach (@after) { print "$_\n"; } close (SOCKET); sub getpage { send(SOCKET,"$_[0]",0) or die "Send: $!\n"; @ans=""; do { $data=""; recv(SOCKET,$data,1024,0); print "Receiving data ...\n"; push (@ans,$data); } while($data ne ""); return (@ans); }