2010-01-19 8 views
0

comme mon client a besoin, j'ai développé un code pour se connecter via cURl.problème de cookie curl en PHP

  1. Connectez-vous pour www.web1.com et les cookies magasin dans cookie.txt

  2. aller à www.web2.com et parcourir une page à l'aide que cookie.txt

pas problème avec www.web2.com

alors quand je veux faire cela avec www.web3.com, le problème apparaît. Le www.web3.com utilise la session et les cookies lui-même et je dois les rassembler et les utiliser.

cela signifie que je devrais avoir des séries de remorquage de cookies, d'abord ceux de www.web1.com, et ceux de seconde www.web3.com, puis demander au www.web3.com/somepage

comment je peux fais ça?

Répondre

0

Vous pouvez exécuter un appel de ligne de commande pour recourber de php pour enregistrer les cookies dans un fichier comme ceci:

boucle -c '/tmp/mycookies.txt' 'http://www.site.com/login.php

Ensuite, utiliser ces cookies submiting à la page comme ceci:

boucle -b '/tmp/mycookies.txt' -d « uname = MyLoginName & passe = MonMotdePasse & action = connexion & x = 67 & y = 11' 'http://www.site.com/login.php'

Pour plus d'informations sur ces indicateurs de ligne de commande:

0

Vous pouvez utilisateur la ligne suivante pour obtenir les informations sur les cookies:

curl -k -s -d'user=foo&pass=bar' -D- https://server1.com/login/ -o/dev/null -f 

Utilisez shell_exec ou exec pour exécuter cette commande. Après avoir obtenu les informations d'en-tête, vous pouvez analyser les informations sur les cookies. Utilisez une classe d'assistance ou écrivez votre propre analyseur ->http://framework.zend.com/manual/en/zend.http.cookies.html (Zend_Http_Cookie :: fromString) Vous pouvez stocker ces informations dans une session et non dans un fichier texte. Pour web3.com, saisissez également les informations sur les cookies et enregistrez-les dans la session ou dans le fichier cookie.txt.