Bonjour,

J'ai cherché sur le net, et je n'ai pas beaucoup trouvé d'info au sujet de la fonction curl. Je dois récupérer sur un hébergement un fichier xml. Je tiens a signaler au cas où, cet hébergeur ne permet pas la connexion ftp mais permet uniquement de le faire par curl. ( je résume).

Donc j'ai essayé de faire quelque chose, la connexion se réalise bien , il faut ici un login et pass, et j'essaye de récupérer un xml et le déposer au même endroit que ma page qui exécute le script curl . Pour le moment cela créer bien un fichier xml mais vide.

Primo je n'ai pas bien compris ce qu'était curl déjà , et je ne connais pas bien non plus la fonction fopen...

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
<?php
$lien = 'url';
$postfields = array(
	'username' => 'login',
	'password' => 'pass',
	'login' => '1'
);
$path_cookie = 'temp.txt';
if (!file_exists(realpath($path_cookie))) touch($path_cookie);
 
$curl = curl_init();
 
curl_setopt($curl, CURLOPT_URL, $lien);
curl_setopt($curl, CURLOPT_COOKIESESSION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($curl, CURLOPT_COOKIEJAR, realpath($path_cookie));
 
$return = curl_exec($curl);
$fp = fopen("20130723_export_NL.xml", "w+");
fclose ($fp);
curl_close($curl);
 
if (preg_match('#Username and password do not match#i', $return))
{
	echo 'Connexion échoué.';
	exit;
}
j'ai vu dans un tuto qu'il fallait créer un cookie, je ne sais pas si c obligatoire.

Si quelqu'un pourrait me dire ce qu'il manque ou l'erreur je suis preneur ?

Merci.