J'utilise PHP Curl pour envoyer une demande à un serveur. De quoi dois-je faire pour que la réponse du serveur comprendra l'adresse IP de ce serveur? P>
6 Réponses :
AFAIK Vous ne pouvez pas "forcer" le serveur pour vous envoyer son adresse IP dans la réponse. Pourquoi ne pas le regarder directement? (Check Cette question / réponses pour comment faire cela à partir de PHP ) P>
Le serveur est composé de plusieurs instances de fonctionnement. J'ai donc besoin de déterminer exactement quel serveur I connecté et répondit pour une demande de courbure particulière.
Je ne pense pas qu'il y ait un moyen d'obtenir cette adresse IP directement à partir de CURL.
Mais quelque chose comme ça pourrait faire le truc:
Premièrement, faites la demande de courbure et utilisez Ensuite, utilisez et, enfin, utilisez puits ...
curl_getinfo code>
pour obtenir l'URL "réelle" récupérée - c'est-à-dire parce que la première URL peut rediriger à une autre, et que vous souhaitez la dernière: p> parse_url code>
pour extraire la partie "hôte" de cette URL finale: p> gethostbyname code>
pour obtenir l'adresse IP correspondant à cet hôte: p>
C'est une solution ^^ Il devrait fonctionner dans la plupart des cas, je suppose - bien que je ne sois pas sûr que vous obtiendriez toujours le résultat "correct" s'il y a une sorte de mécanisme équilibrant de charge ... P > p>
echo '<pre>'; print_r(gethostbynamel($host)); echo '</pre>'; That will give you all the IP addresses associated with the given host name.
Ceci peut être fait avec CURL, avec l'avantage de ne pas avoir d'autre trafic réseau en plus de la demande / réponse de la courroie. Les demandes DNS sont effectuées par CURL pour obtenir les adresses IP, que l'on peut trouver dans le rapport Verbose. Donc: démo: p>
J'ai utilisé celui-ci à partir d'ici: http://php.net/manual/fr/function.gethostbynamel.php p> p>
Je pense que vous devriez pouvoir obtenir l'adresse IP du serveur avec: