cURL obtenir l'url de redirection

Je suis actuellement à l'utilisation de cURL pour essayer et obtenir de l'URL de redirection d'un site web d'un grattoir. J'ai seulement besoin de l'url du site web. J'ai fait des recherches sur stackoverflow et d'autres sites depuis quelques jours et ont été infructueuses. Le code que j'utilise actuellement est à partir de ce site web:

  $url = "http://www.someredirect.com";
  $ch = curl_init($url);
  curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');         
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HEADER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
  curl_setopt($ch, CURLOPT_NOBODY, true);
  $response = curl_exec($ch);
  preg_match_all('/^Location:(.*)$/mi', $response, $matches);
  curl_close($ch);
  echo !empty($matches[1]) ? trim($matches[1][0]) : 'No redirect found';

Toute aide serait grandement appréciée!

  • preg_match_all('/^Location:(.*)$/mi', $response, $matches);, êtes-vous essayer de faire correspondre header('Location:http://google.com'); par exemple? :/
  • Ouais. En essayant d'analyser un Emplacement de la tête, mais l'emplacement de la balise n'est pas retourné dans l'en-tête.
  • Dans ce cas, votre code fonctionne très bien pour moi.
InformationsquelleAutor Josh | 2013-06-10