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...
Enlever ventirad socket A VoirProblème Je n'arrive pas à enlever le ventirad de mon processeur socket A. Solution Il y a un crochet sur un côté. Il faut appuyer avec le bout d'un tournevis plat, par exemple, sur le crochet pour le libérer. Merci à epango sur le forum...
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...
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...
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...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...

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
Collection CommentÇaMarche.net