Comment puis-je envoyer un en-tête à un site Web comme si PHP/Apache était un navigateur? J'essaye de gratter un site, mais il semble qu'ils envoient une erreur 404 si elle vient d'un autre serveur ...Envoyer les en-têtes du navigateur via PHP
Ou, si vous connaissez d'autres bonnes manières de gratter le contenu d'un site?
De plus, voici mon code actuel:
<?php
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$_GET['url']);
curl_setopt($curl_handle, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
curl_setopt($curl_handle, CURLOPT_REFERER, "http://google.com");
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
echo $buffer;
?>
, je vais faire une requête AJAX comme:
/spider.php?url=http://target.com
qui retourne une chaîne vide. Je sais que c'est la bonne configuration parce que si je change de cible avec twitter.com cela fonctionne ... qu'est-ce qui me manque pour que cela ressemble à un navigateur complet?
Utilisez-vous [cURL] (http://www.php.net/curl)? – BoltClock
J'utilise cURL –