Htaccess et script PHP CURL

L'authentification HTTP, par htaccess par exemple, peut être résolue par CURL.

Pour cela, 2 options :

  1. CURLOPT_HTTPAUTH qui sert à indiquer quelle méthode d'authentification utiliser (CURLAUTH_ANY indique à CURL de se débrouiller pour la définir lui même)
  2. CURLOPT_USERPWD qui sert à indiquer le nom d'utilisateur et le mot de passe sous la forme nom_utilisateur:mot_de_passe

<?php

$url = 'http://www.oseox.fr';
$timeout = 10;

$http_auth_ident = ''; // username:password

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

if (preg_match('`^https://`i', $url))
{
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Définition de la méthode d'authentification du serveur
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

// Définition des identifiants
curl_setopt($ch, CURLOPT_USERPWD, $http_auth_ident);

$page_content = curl_exec($ch);

curl_close($ch);
?>

Il est important de noter que, si vous affichez le résultat de la page (le HTML résultant est donc interprété par le navigateur), d'autres demandes d'authentification vous seront faites. Celles-ci correspondent en faite aux fichiers externes de la page (images, CSS, Javascripts...).

Recevez par email nos prochains conseils

Oseox sur Facebook Notifications via Facebook Oseox sur Twitter Notre actu sur twitter

Une question ? Venez la poser sur notre forum développement web !

A propos de l'auteur

Antoine Beaumont

Antoine Beaumont est Consultant Web et Développeur. Fort d'une expérience construite au sein de grandes agences Web-marketing, pour tous types de comptes, il accompagne désormais les professionnels dans leurs projets Web, de façon souple et objective.