J'essaie d'écrire un module afin qu'il modifie une requête HTTP qu'il
reçoit en entrée puis la renvoyer vers un serveur externe. Je veux lire la requête
et la modifier pour
l'envoyer vers une adresse url quelconque...Avez-vous une idée??
merci d'avance
A voir également:
Insérer, modifier, supprimer des données en php pdo
Je ne suis pas sûr que tu puisses lire une requête HTTP reçue avec PHP, puisqu'elle est reçue par le serveur web (Apache, IIS, etc). C'est lui qui traite les requêtes HTTP, certainement pas PHP.
PHP peut, tout au plus, envoyer des requêtes sur un serveur et traiter la réponse.
Maintenant, il y a "peut-être" quelque chose qui permet à Apache (ou IIS ou autre) de transmettre à PHP l'intégralité de la requête HTTP reçue (une extension ou autre), mais j'ai comme un doute...
le problème c'est que php intervient APRES la requête HTTP. Logique.
Mais rien ne t'empêche, sur une page appelée, de récupérer la chaîne de requête, de la parser, et de rediriger ensuite. Je ne saisis pas bien où tu bloques en fait ?
Au temps pour moi... Il existe bien une fonction PHP qui permet de récupérer les entêtes HTTP envoyés à Apache, mais à la seule condition que PHP soit installé en tant que module Apache (et pas utilisé en CGI).
La solution de [auteur/NEIGEDHIVER/924195.aspx neigedhiver] devrait fonctionner, en tout cas c'est ce que j'aurais fait. Il faut peut être te préscisé que tu dois utiliser cette fonction tout au début de ton fichier car tu ne doit rien envoyer au navigateur avant d'utiliser
Une URL peut etre accedee a partir d'un script PHP comme un simple fichier, par exemple
$dataresult =file("http://www.foudujeu.com/Resultats/") ;
la chaine de resultat contient tout le html de la page recue
du serveur. Mais pour que votre script devienne une sorte de relais de requete entre les parametres recus par votre script et les parametres a passer au serveur auquel vous sous-traitez..
(c'est peut-etre le cas des sites fédérateurs de requetes)
il faudra compléter l'url avec une liste adequate de parametres avec leurs valeurs, du genre :
$url = $urlsite."?param1=".$value1."¶m2=".$value2 ;
$dataresult =file( $url );
Vous devrez
* soit donner le resultat brut recu :
echo $dataresult;
* soit extraire les résultats utiles puis les renvoyer vers votre client