Associer une ip à un nom de domaine avec curl
Ami du Jour Bonjour ^^
Je destine cet article à tous les développeurs PHP qui utilisent un peu le curl :)
Dans un de mes projets j'avais à faire une requêtes curl pour appeler un script qui demandait de s'authentifier ...
Mais du coup j'essayais de m'authentifier sur ce fameux script qui me répondait :
FUCK YOU => Tiens voilà une erreur 403 rien que pour toi !
Du coup j'ai cherché longtemps pourquoi ça ne marchait pas ...
Avant de constater que ma requête curl marchait en passant par un proxy et non en direct ...
Le problème venait de la résolution dns ...
Il frappait sur 127.0.0.1, et en le faisant frapper sur l'ip publique, ça à résolu le problème !
J'ai dû donc, et c'est le sujet de l'article, résoudre manuellement l'ip ...
Alors je vais vous expliquer la recette de cette réussite !
Voici un petit exemple :
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://xx.xx.xx.xx/monscript.php");
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Host: nomDeMonSite.fr'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER , 1);
$resp = curl_exec($curl);
curl_close($curl);
Bon initialisation basique d'un objet curl :
$curl = curl_init();
Ensuite, vous verrez que je définis l'url en remplaçant le nom de domaine par l'ip
curl_setopt($curl, CURLOPT_URL, "http://xx.xx.xx.xx/monscript.php");
xx.xx.xx.xx étant bien sur l'ip sur laquelle vous souhaitez pointer.
Et enfin ici j'indique ici le nom de domaine
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Host: nomDeMonSite.fr'));
Bon après je vous décortique pas le reste, le but de cet article n'est pas de vous former à curl ^^
Ils existent d'autre manière de le faire, par exemple en modifiant le fichier host du système.