Modifier une requête http en php

Signaler
Messages postés
9
Date d'inscription
dimanche 17 décembre 2006
Statut
Membre
Dernière intervention
23 mai 2008
-
Messages postés
3
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
19 janvier 2012
-
bonjour

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

10 réponses

Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Salut,

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...

<hr size="2" width="100%" />Neige
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

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 ?
 
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
Salut,

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).

http://fr.php.net/manual/fr/function.apache-request-headers.php

<hr size="2" width="100%" />Neige
Messages postés
192
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
10 août 2009

Regarde le résultat de

echo fopen(php://input,'r+');

Cela devrait t'intérresser.
Si sa t'intéresse tu pe remplacer input par output.
Jte laisse faire des recherche sur google pour plus de détails.

GRUNENBERGER Benoît
www.egrunenberger.com
Messages postés
9
Date d'inscription
dimanche 17 décembre 2006
Statut
Membre
Dernière intervention
23 mai 2008

merci pour vos aide, mais précisement, je cherche comment modifier l'user agent avec un script php.

s'il n'y a pas de solution, c'est parce qu'il n'y a pas de problème
Messages postés
2483
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
17
header('User-Agent: Mon Navigateur a moi version 1267654.8 beta 3 rc17 ');

<hr size="2" width="100%" />Neige
Messages postés
9
Date d'inscription
dimanche 17 décembre 2006
Statut
Membre
Dernière intervention
23 mai 2008

j'ai essayé mais ça marche pas
Messages postés
192
Date d'inscription
dimanche 23 janvier 2005
Statut
Membre
Dernière intervention
10 août 2009

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


header('User-Agent: Mon Navigateur a moi version 1267654.8 beta 3 rc17 ');http://www.UnrealNetwork.net
Messages postés
2
Date d'inscription
dimanche 9 décembre 2007
Statut
Membre
Dernière intervention
14 septembre 2009

Salut,
Y'a t'il un moyen pour générer ses propres requete http avec un outils ou un script ??
Merci
Messages postés
3
Date d'inscription
mardi 28 février 2006
Statut
Membre
Dernière intervention
19 janvier 2012

 Prime_Time

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