Curl identification https

nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007 - 28 févr. 2007 à 16:59
csauvane Messages postés 18 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 17 janvier 2009 - 20 mai 2008 à 14:22
Bonjour;
Bon je post un nouveau sujet  parce que là je ne sais plus quoi faire.
Je dois récupérer des données sur une page https, sauf que pour accéder à cette page il faut être identifier.
Le truc c'est que le lien qui va appeler mon script va se trouver sur la page sur laquelle je dois récupérer mes données.
Je precise que j'utilise curl et que j'ai deja une fonction qui arrive à recupérer la page d'identification, pour les autres bien evidament le serveur me jette et me demande de m'identifier
Alors questions:
   -Comment faut-il que je fasse pour envoyer mon login et mot de passe au serveur?
   ou mieux
   -N est t il pas possible de se servir du cookie de la session en cour pour que mon script puisse acceder directement à la page sur laquelle je veux recuperer mes données?

Je ne suis pas trop sur d'avoir été clair, si vous voulez plus de precisions faites moi signe.
Pitié j'ai vraiment besoin que l'on m'aide, merci d'avance.

21 réponses

vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
28 févr. 2007 à 17:38
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
28 févr. 2007 à 20:51
Saell og blesuð


Vous pouvez essayer ceci:


$url = "https://domain.ltd/requete";
$ch = curl_init();   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/4.0");
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch, CURLOPT_USERPWD, "login:âssword");
$result = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
echo $result;
echo $error;

Chez moi cela marche



Vilhjálms


Sigurðsdóttir aka Frëyjá
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
28 févr. 2007 à 23:35
Saell og blesuð

Il se peut egalement que vous ayez besoin de ses deux options si vous avez une erreur du type :

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
soit :
CURLOPT_CAINFO
CURLOPT_CAPATH

Vilhjálms
Sigurðsdóttir aka Frëyjá
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 00:00
Saell og blesuð

Vous pouvez aussi regarder sur ce site il est tres bien fait a mon idee :

http://curl.haxx.se/



Vilhjálms


Sigurðsdóttir aka Frëyjá
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007
1 mars 2007 à 09:42
Bonjour tout le monde,
Tout dabort je tenais à remercier [auteurdetail.aspx?ID=551996 vilhjalms]pour tous les liens très utiles qu'il m'a donné.
Bon, j'ai reussi à m'identifier auprés du site sauf que apparament j'ai un probleme de cookie parce que quand je clique sur le bouton deconnecté je retourne bien sur la page d'identification mais si j essai de me reconnecter on me dit que l'utilisateur est deja connecté et je suis obligé d'attendre un petit moment avant de pouvoir me reconnecter.
Quelqu'un sait il comment est ce que l'on gère les cookies avec curl, j'ai essayé avec:

curl_setopt($ch, CURLOPT_COOKIEJAR, $moncookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $moncookie);

mais cela n'a pas l'air de fonctionner, j'sais pas trop comment faire, si quelqu'un a une idée...
Encore merci à vilhjalms
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 10:21
Saell og blesuð

Pour le cookie vous pouvez essayer ceci :


curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE_PATH);
curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE_PATH);





ou encore :



curl_setopt($ch, CURLOPT_COOKIEJAR, '-');








Vilhjálms


Sigurðsdóttir aka Frëyjá
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 10:27
Saell og blesuð





$cookie_file_path = "../../cookie.txt";
curl_setopt ($ch, curlOPT_COOKIEJAR, $cookie_file_path);
curl_setopt ($ch, curlOPT_COOKIE, session_name().'='.session_id() );
curl_setopt ($ch, curlOPT_COOKIESESSION, 1);
curl_setopt ($ch, curlOPT_COOKIEFILE, $cookie_file_path);

Vilhjálms
Sigurðsdóttir aka Frëyjá
0
nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007
1 mars 2007 à 10:47
Bon apparament c'est pas non plus la bonne solution, le site m'a encore mal deconnecté.
Le mieux serait que je puisse faire cela:
Que j'arrive à me servir du cookie de la session en cour
pour que mon script puisse acceder directement à la page sur laquelle
je veux recuperer mes données.
Mais est ce possible en theorie?
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 11:02
Saell og blesuð

Quel est votre code actuel et le site que vous souhaitez atteindre ?



Vilhjálms


Sigurðsdóttir aka Frëyjá
0
nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007
1 mars 2007 à 11:35
Je viens de m'appercevoir qu'avec mon script une fois l'identification  effectué  (je suis donc sur la page suivante) et  bien si je clique sur un lien le serveur me renvoi:
The requested URL /.../afficheFrameset.do was not found on this server.
Je suppose que mon probleme de deco a un lien avec cette erreur.
Mais d'ou peut t-elle venir?
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 11:56
Saell og blesuð

Heu petite question con mais une fois connecte avez vous un lien pour vous deconnectez ?
Et sans curl comment faites vous ordinairement ?



Vilhjálms


Sigurðsdóttir aka Frëyjá
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 12:09
Saell og blesuð

Il semblerait qu il recherche son chemin à partir de l'instance curl. en temps normal si vous cliquez sur le lien vous avez toujours la meme erreur ? : he requested URL /.../afficheFrameset.do was not found on this server.

Vilhjálms
Sigurðsdóttir aka Frëyjá
0
vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
1 mars 2007 à 12:19
Saell og blesuð

Heu vous avez essaye en mettant le chemin complet du cookie ? Parce qu il semblerait que curl n aime pas vraiment cela



Vilhjálms


Sigurðsdóttir aka Frëyjá
0
nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007
1 mars 2007 à 14:04
Quand je me connecte sur ce site en temps normal (donc juste pour visualiser les pages) j'ai en effet un bouton qui me permet de me deconnecter.
Quand je passe par curl j'arrive sur la meme interface qu 'en temps normal, j'ai donc le bouton de deco. Si je clique dessus tout parrait se passer correctement puisqu on me renvoit sur la page d'identification sauf qu'apparemment ma session ne se ferme pas.
Si je clique sur un autre lien j'ai l'erreur dont je vous ai parlé, je suppose que c'est parce que le chemin part de l'instance de curl mais pourquoi....
 erreur qui par une connexion normale au site n'apparait pas bien entendu.
https://parcours3.cce.bull.fr/P3NoyauDur/auth.do : url normale (sans curl)
0
nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007
1 mars 2007 à 14:26
Je viens de m'appercevoir que si je me connecte avec curl je peux me deconnecter et me reconnecter autant de fois que je le veux il n'y aura pas de soucis, de plus je ne reçoit aucun cookie.
Par contre si j'essai de me connecter normalement après une session curl il me dit que l'utilisateur est deja connecté et je suis obligé d'attendre.
comment est ce possible? Que deviennent mes cookies?
0
nildv Messages postés 40 Date d'inscription jeudi 22 décembre 2005 Statut Membre Dernière intervention 11 juin 2007
1 mars 2007 à 14:37
j'ai essayer d' enlever cette ligne:


 curl_setopt($ch, CURLOPT_COOKIEFILE, $moncookie);

qui est precédée par celle-ci:

curl_setopt($ch, CURLOPT_COOKIEJAR, $moncookie);

et quand j'ai reactualisé la page le site m'a renvoyé sur le formulaire d'identification en me disant que l'utilisateur est deja connecté.
Le truc que je ne comprend pas c'est qu'il n'y à jamais rien dans le fichier $moncookie.
Donc pourquoi le fait d'enlever cette ligne changerai quelque chose?
Si je remet la ligne et que j'actualise il me dit que l'utilisateur est toujours connecté, je suis obligé d'attendre
0
cs_saifon Messages postés 2 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 10 avril 2008
10 avril 2008 à 11:58
c'est facile et simple:il faut ajouter cette ligne dans votre code.

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);

ca va fonctionner.
0
csauvane Messages postés 18 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 17 janvier 2009
29 avril 2008 à 10:52
Bonjour,

J'ai la même idée en tête, mais j'ai l'erreur signalée par [auteur/VILHJALMS/551996.aspx vilhjalms] plus haut :

(balise quote )

SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
soit :
CURLOPT_CAINFO
CURLOPT_CAPATH

(fin balise quote )

Me faut-il obligatoirement récuperer les certificats de l'autre serveur, ou est ce que l'authentification n'a simplement pas fonctionnée ?
0
csauvane Messages postés 18 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 17 janvier 2009
29 avril 2008 à 11:03
Petit info en plus : en ajoutant l'option de [auteur/SAIFON/484241.aspx saifon] (je l'avais mis à true), je n'ai plus le message d'erreur mais une redirection vers la page erreur 404 : missing de mon serveur, ça a donc généré une mauvaise redirection...
0
csauvane Messages postés 18 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 17 janvier 2009
29 avril 2008 à 11:50
J'ai cerné un peu plus le problème :

En désactivent ma page 404 sur 'http://monsite.com', je récupère la page à laquelle il essaye d'acceder.

Voilà le fonctionnement :

1 - Je lance une connexion vers un site 'https://exemple.com' avec cURL depuis 'http://monsite.com'
2 - L'authentification semble fonctionner puisqu'il y a une redirection du style './ceci/cela/cettepage.jsp.html' sur ce deuxième serveur (qui ne se fait pas si l'identification n'a pas lieu, il y aurait autrement la fenêtre de mot de passe).
3 - le problème est que le redirecton se fait sur mon serveur : au lieu d'avoir
'https://exemple.com/ceci/cela/cettepage.jsp.html'
j'ai
'http://monsite.com/ceci/cela/cettepage.jsp.html'

Quelqu'un peut-il m'éclairer sur les options de cURL à modifier pour que cela fonctionne ?

Merci !

Colin
0
Rejoignez-nous