Rechercher : dans
Par :

POST en perl sur localhost via Socket

Dernière réponse le 24 fév 2007 à 21:53:37 Luc, le 23 fév 2007 à 00:18:13 
 Signaler ce message aux modérateurs

Voilà, je cherche à passer un POST depuis un CGI perl vers un script php sur la même machine. Le CGI recoit lui même un POST, effectue des traitements et recompose une chaine de données à passer en POST à un script php. Avant de poster vers le php, tout va encore bien, mais en arrivant à la page php, je n'ai rien reçu ...

Voici l'envoi du POST coté perl :

$host = 'localhost';
$crlf = "52";
$http = "POST $php_script HTTP/1.0$crlf".
"Host: $host$crlf".
"Referer: %ENV(HTTP_REFERER)$crlf".
"User-Agent: %ENV(HTTP_USER_AGENT)$crlf".
"Connection: close$crlf".
"Content-Type: application/x-www-form-urlencoded$crlf".
"Content-Length: 40$crlf$crlf".
"test1=valeur1&test2=valeur2";

$tcp = getprotobyname('tcp') or die "getprotobyname\n";
$hosti = inet_aton($host) or die "inet_aton\n";
$hosts = sockaddr_in(80, $hosti);
socket(SOK, PF_INET, SOCK_STREAM, $tcp) or die "socket\n";
connect(SOK, $hosts) or die "connect\n";
select SOK; $| = 1; select STDOUT;
print SOK $http;

$resultat = "";
while (<SOK>) {
chomp ;
if (/([^
]+)[
]*/) {
$resultat .= $1;
}
}
print "Content-type: text/html\n\n";
print $resultat;


merci pour toute aide...

Configuration: Linux
Firefox 2.0

Meilleures réponses pour « POST en perl sur localhost via Socket » dans :
PhpMyAdmin - 1045- Access denied for user root@localhost VoirPhpMyAdmin - Access denied for user root’@localhost Cette astuce est destinée à ceux qui ont un problème d’ouverture de PhpMyAdmin (par exemple avec WAMP Server ou EasyPHP) avec l'erreur suivante : #1045- Access denied for user...
[Overclocking] Plateformes AMD 64bits socket 754/939/AM2 VoirOverclocking des CPU AMD Athlon 64 et Sempron socket 754 et 939 Les générations de CPU gravés à 0,09 microns (coeur Venice pour Athlon ou Palermo pour Sempron) ouvrent de nouvelles perspectives en matière d'overclocking. La déperdition...
Télécharger Pilotes VIA AC'97 VoirLe pilote VIA AC'97 sound driver convient pour toutes les cartes-mères embarquant un chipset VIA. La liste complète des chipsets supportés est la suivante : VIA AC97 codec incorporated into VT82C686A/B South Bridges ( VT82C686A VT82C686B ) VIA...
Télécharger Pilote VIA Rhine Fast Ethernet Adapter VoirLe pilote VIA Rhine Fast Ethernet Adapter supporte les produits suivants : South Bridge integrated VT8251 South Bridge integrated VT8231, VT8233, VT8235 & VT8237 (Rhine & Rhine II) ( VT8237 VT8235 VT8231 VT8233/A/C VT6107 ) VT6105/L/LOM and...
Les fonctions de l'API Socket VoirLes fonctions des sockets en détail La fonction socket() La création d'un socket se fait grâce à la fonction socket() : int socket(famille,type,protocole) famille représente la famille de protocole utilisé (AF_INET pour TCP/IP utilisant une...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Perl - Entrée et sortie standards VoirQu'appelle-t-on entrée standard et sortie standard ? Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant...

1

 lami20j, le 24 fév 2007 à 21:53:37

Salut,

quand tu utilises une regex de cette manière
/([^
]+)[
]*/)

il faut employer le modificateur /x

/([^
]+)[
]*/x
lami20j

Répondre à lami20j