Bonjour,
J'ai un soucis avec la fonction curl.

j'essaie d'automatiser la connexion à un backoffice https (ASP.net) et d'effectuer certaines taches qu'on faisait manuellement auparavant.

il s'agit de 4 étapes:
-connexion(saisir login/pass)
-passer à une 2eme page qui liste des éléments,
-choisir un élément de la liste(cela ouvre une popup ajax avec un boutton)
-click sur le boutton pour valider l'action.

je suis blocké sur la 3eme étape.
voici mon code :
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
30
31
32
 
$post_fields['Cart_Callback_Method'] ="&hiddenShowAnn=true&chkBxT=checked&btnProcessOrder=Process&btnReject=Reject&ddlRejectOrder=-1&Cart_Callback_Method=ServerUpdateOrdStatus&Cart_Callback_Method_Param=7489115&Cart_Callback_Method_Param=19&Cart_Callback_Method_Param=true";
 
 
Cart_cbPopup_Callback_Param=RETAIL
curl_setopt($ch, CURLOPT_URL, "https://backoffice.url.com/2emepage.aspx");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, join("",$post_fields));
curl_setopt ($ch, CURLOPT_TIMEOUT, 5);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_setopt( $ch, CURLOPT_VERBOSE, 1 );
 
 
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_MAXREDIRS,20);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch,    CURLOPT_AUTOREFERER,1);
curl_setopt($ch,    CURLOPT_COOKIESESSION,1);
curl_setopt($ch,    CURLOPT_FAILONERROR,1);
curl_setopt($ch,    CURLOPT_FRESH_CONNECT,1);
curl_setopt($ch,    CURLOPT_HEADER,1);
curl_setopt($ch,    CURLOPT_CONNECTTIMEOUT,30);
 
//3eme curl_exec sans surl_close()
$data = curl_exec($ch);
voici le Header que je reçois:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 02 May 2011 10:24:02 GMT
Content-Length: 70
 
<returns><![CDATA[error<node>Session expired.<node><node>]]></returns>
est ce j'ai oublié quelque chose?
est ce que ces 2 paramétres sont importants, et comment les utiliser:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
//curl_setopt($ch, CURLOPT_COOKIE,"????");
//curl_setopt($ch,    CURLOPT_HTTPHEADER,"???");

Merci d'avance pour votre aide