Bonjour tout le monde !
Alors voilà, j'utilise à la base le _simple_html_dom.php (disponible ici http://simplehtmldom.sourceforge.net/) pour pouvoir parser des pages web sur un site spécifique (jeuxvideo.com pour pouvoir récupérer des noms de jaquette etc).
J'ai testé sur XAMPP en local, et ça fonctionne parfaitement. J'ai basculé sur mon serveur et là je galère depuis plusieurs jours a tout essayé mais rien ne marche. Alors quand je teste ça sur mon serveur j'obtiens une erreur :
Après j'me suis dit bon ok je fais en cURL, puis là bah ça fait rien -> page blanche alors que si je met un autre site je récupère bien la page en cURL. En ligne de commande ça donne "curl: (52) Empty reply from server" . Je me suis dis ok c'est surement des headers qui manque alors du coup je met ça comme option (en PHP):
Code : Sélectionner tout - Visualiser dans une fenêtre à part 2017/08/29 21:05:45 [error] 18934#0: *1 FastCGI sent in stderr: "PHP message: PHP Warning: file_get_contents(http://www.jeuxvideo.com/jeux/switch/jeu-593932/): failed to open stream: HTTP request failed! in /var/www/XXX/test.php on line 2" while reading response header from upstream, client: 80.214.116.52, server: www.MYHOSTNAME.com, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "www.MYHOSTNAME.com"
toujours une page blanche en retour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 curl_setopt ($ch, CURLOPT_URL, $baseurl); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_AUTOREFERER, true); curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com'); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13'); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
Donc je me tourne vers vous en dernier recours : Pouvez-vous tester de votre côté voir si ce n'est pas que moi, ou si j'ai peut-être oublié un header ou autre chose qui ferait que je sois "bloqué" à partir de mon serveur mais pas bloqué à partir de XAMPP en local sur mon pc ? (c'est surtout cette partie qui me dérange, file_get_contents qui fonctionne sur XAMPP mais pas via mon serveur...Si le site distant faisant des verifs de headers ou quoi ce serait justement pire avec XAMPP puisque niveau header y'a encore moins par défaut... bref je sais pas )
Merci d'avance !
Partager