Bonjour,

Je m'adresse à vous en ultime espoir, après avoir lu tout ce que je pouvais sur les forums plus ou moins connus, et appliqué toutes les solutions possible. Et malheureusement, ne connaissant personne dans mon entourage pour me filer un coup de main, je compte sur vous

Souhait :
Je souhaite "curler" des URL, afin d'en récupérer le header + le code source, et en extraire des balises (title, metas...).
J'ai trouvé que CURL était la meilleure solution, car il récupère aussi bien le header que le code source en 1 un hit.

Mon code actuel. A pour effet :
-> De bien fonctionner sur la page d'accueil (***é****e)
-> Mais sur la page /test.html (en 404) : le title ressort de la forme ****è*****

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


	$url = "https://www.xxx.fr/"; //On récupère l'URL

	header('Content-Type: text/html; charset=utf-8');

	//curl de l'URL
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_ENCODING ,"");

	//xpath + header
	$html = curl_exec($ch);
	//$html = utf8_decode(curl_exec($ch));
	$info = curl_getinfo($ch);
	$dom = new DOMDocument('1.0', 'UTF-8');
	@$dom->loadHTML($html);
	$xpath = new DOMXPath($dom);
	$title = trim($xpath->evaluate('string(/html/head/title)'));

	echo $title;

?>
J'ai alors essayé un autre code, en lisant les forums. A pour effet :

-> De ne rien me renvoyer sur la page d'accueil ("")
-> Mais sur la page /test.html (en 404) : le title est correct : "*****è*****"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);


	$url = "https://www.xxxxxx.fr/test.html"; //On récupère l'URL

	header('Content-Type: text/html; charset=utf-8');

	//curl de l'URL
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_ENCODING ,"");

	//xpath + header
	//$html = curl_exec($ch);
	$html = utf8_decode(curl_exec($ch));
	$info = curl_getinfo($ch);
	$dom = new DOMDocument('1.0', 'UTF-8');
	$dom->loadHTML($html);
	$xpath = new DOMXPath($dom);
	$title = trim($xpath->evaluate('string(/html/head/title)'));

	echo $title;

?>
Un grand merci pour votre patience et lecture...

Marie \m/