Ce proxy supporte les methode POST et GET
il est en version squelette car il souffre de quelque lenteur
Source / Exemple :
<?php
/*
- Migaproxy par Migadesktop *
- Mek-in-gold@live.fr *
- /
// PS : Cette source est compilable en executable avec bamcompile
// vous trouverez bamcompile sur
http://www.bambalam.se/bamcompile/
set_time_limit(0);
echo "MigaProxy Version squelette\n";
$host = "L'ip d'ordinateur ou vous execute ce proxy";
$port = 8080;
while(1)
{
// creation d'une socket d'ecoute
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create
socket\n");
// bind de la socket sur le port 8080
$result = socket_bind($socket, $host, $port) or die("Could not bind to
socket\n");
// ecoute de la socket
$result = socket_listen($socket, 3) or die("Could not set up socket
listener\n");
// la socket accepte la conection
$spawn = socket_accept($socket) or die("Could not accept incoming
connection\n");
// lecture des donéee envoyé par le navigateur
$input = socket_read($spawn, 1024) or die("Could not read input\n");
// extration dans la requete du navigateur de l'url demander et de la methode GET ou POST
$subject = substr($input,0,strpos($input,"HTTP"));
if (eregi('GET', $subject)) {
echo "\n Methode : GET\n";
$subject = substr ($subject,4,strlen($subject));
}
else
{
echo "\n Methode : POST\n";
$subject = substr ($subject,5,strlen($subject));
}
preg_match('@^(?:
http://)?([^/]+)@i',
$subject, $matches);
// envoi de la requete du navigateur au serveur web concerné et ecoute de sa reponse
// P.S : probleme d'incompatibilité avec google dans cette version
echo "\nserveur : \n(".$matches[1].")\n";
echo "\nrequete : \n(".$input.")\n";
if ($matches[1]!="www.google.fr" && $matches[1]!="www.google.com")
{
$web = fSockOpen($matches[1], 80, $codeErreur, $msgErreur, 1);
fputs($web,$input);
$reponse="";
while (!feof($web)) {
$reponse.=fgets($web, 128);
}
fclose($web);
}
else
{
$reponse="<H1>Google n'est pas pris en charge par Migaproxy , veuillez attendre une version compatible!";
}
echo "\nserveur : \n(".$reponse.")\n";
// envoie de la reponse du serveur web demandé par le navigateur au navigateur client
socket_write($spawn, $reponse, strlen ($reponse)) or die("Could not write");
socket_close($spawn);
socket_close($socket);
echo "\nRequete Terminer!\n";
}
?>
Conclusion :
voila des idée d'optimisation sont les bienvenue
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.