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 :
http://monsite/ est le serveur ou les utilisateurs doivent se logger et elle se trouve sur le second serveur
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);
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
Partager