Bonjour,

J'utilise CURL pour se logger dans un site

Le problème c'est que j'utilise deux serveur différents c'est à dire

L'utilisateur va cliquer sur un lien qui se trouve dans un premier serveur pour se connecter dans son compte stocker sur un autre serveur

Voici la fonction utilisée :

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
 
function connect_with_curl($webpage_url)
{
 
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl_handle,CURLOPT_USERPWD, 'login:mdp');
curl_setopt($curl_handle,CURLOPT_URL,$webpage_url);
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_handle,CURLOPT_TIMEOUT,10);
//curl_setopt($curl_handle,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($curl_handle,CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_BINARYTRANSFER, 1);
$html = curl_exec($curl_handle);
curl_close($curl_handle);
$url="http://monsite";
$result = str_replace('src="','src="'.$url.'',$html);
$result = str_replace('href="','href="'.$url.'',$result);
return $result;
}
$link = "http://monsite/webmail";
 
echo  connect_with_curl($link);
http://monsite/ est le serveur ou les utilisateurs doivent se logger et elle se trouve sur le second serveur

La fonction connect_with_curl() est appelé dans un fichier situé dans le premier serveur

J'ai implementer le str_replace pour avoir les chemins complets des css, et image

lorsque j'appelle l'url dans le premier serveur ça marche(je suis connecté dans la page sur le second serveur avec mention "Vous etes connecté en tant que xxxx") sauf que :
-- J'ai une page non stylé et sans image affiché : quand je regarde la source de la page les chemins vers les css et img sont correcte si j'ouvre ces chemins sur le navitageur il me redirerige vers l'interface de connection
-- Quand je clique sur un lien ça me redirige vers l'interface de connection

Donc à mon avis je ne suis pas du tout connecté

Ma question est que est ce réalisable avec CURL
Si oui pouvez vous me donner des conseils pour que ça marche

(jai pas accès au fichier dans le second serveur car une solution consiste à passer les login /mdp par POST ou GET et on fait le traitement dans le second serveur mais j'ai pas accès

Merci pour votre aide