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.