Comment proxy une autre page en PHP
Je suis à la recherche de la manière la plus rapide et facile d'proxy une page en PHP. Je ne veux pas que l'utilisateur soit redirigé, je veux juste mon script pour retourner le même contenu, le code de réponse et les en-têtes comme une autre URL distante.
Peut-on avoir plus de détails, je veux dire, que si le code de réponse de la télécommande url d'accès est 302 ? Si le script de gérer la redirection ou de passer le code de statut avec la nouvelle adresse ?
Idéalement, il serait de retour quelque chose de 100% identiques, comme si vous alliez à l'URL d'origine. Pour mon projet, je n'ai pas vraiment besoin de beaucoup plus de détails et le file_get_contents semble faire le travail. Mais je pense toujours que c'est une question intéressante
Idéalement, il serait de retour quelque chose de 100% identiques, comme si vous alliez à l'URL d'origine. Pour mon projet, je n'ai pas vraiment besoin de beaucoup plus de détails et le file_get_contents semble faire le travail. Mais je pense toujours que c'est une question intéressante
OriginalL'auteur Nathan H | 2011-06-21
Vous devez vous connecter pour publier un commentaire.
echo file_get_contents('proxypage');
Cela fonctionnerait-il?
EDIT:
Première réponse a été un peu court, et je ne crois pas qu'il va traiter les en-têtes que vous le souhaitez.
Cependant, vous pouvez également le faire:
Cela vous renvoie un tableau contenant beaucoup d'informations sur la télécommande de la page.
$header['content']
aurez à la fois le contenu du site et les en-têtes,$header[header_size]
contiendra la longueur de l'en-tête de sorte que vous pouvez utilisersubstr
de diviser ceux-ci.Puis c'est juste une question de l'utilisation des
echo
etheader
de procuration de la page.utilisation everytihng mais pas curl. Il sux dans la mise en œuvre
OriginalL'auteur klennepette
Vous pouvez utiliser le PHP cURL fonctions pour obtenir cette fonctionnalité:
http://www.php.net/curl
À partir de ce point, vous prenez la réponse informations d'en-tête à l'aide de http://www.php.net/curl-getinfo. (Il y a plusieurs valeurs, vous pouvez saisir, tous répertoriés dans la documentation).
Assurez-vous de fermer la boucle de la poignée.
Essayez de changer CURLOPT_HEADER à 0 (j'ai édité le code) afin de prévenir les en-têtes de sortir.
OriginalL'auteur forgueam
Vous pouvez obtenir le code html de la page suivante avec curl, et puis l'écho de la réponse.
OriginalL'auteur Question Mark