2013-12-09 73 views
0

嘗試使用PHP & cURL自動登錄到ASP.NET網站,但遇到cookie問題。PHP cURL並未捕獲所有ASP.NET Cookie

當我檢查瀏覽器時,初始登錄頁面存儲5個cookie。這是ASP.NET_SessionId,__utma,__utmb,__utmc & __utmz

當這個頁面是通過捲曲訪問的Cookie文件被存儲只有一個cookie的:「ASP.NET_SessionId」

我提到很多帖子&嘗試了所有各種cURL選項組合返回相同的結果。

我不知道ASP.NET cookie如何工作或與PHP不同。任何幫助表示讚賞。

這裏是我的PHP代碼:

$cookie_file_path = "tmp/cookie.txt"; 
$LOGINURL   = "https://godaddy.com"; 
$agent   = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);   
curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); 
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path); 
curl_setopt($ch, CURLOPT_URL, $LOGINURL); 
$content = curl_exec($ch); 
curl_close($ch); 

echo '<textarea style="width:1000px; height:300px">'.$content.'</textarea>'; 

回答

1

__utma,__utmb,__utmc & __utmz由JavaScript存儲的所有谷歌分析的Cookie,從而爲創建客戶端。

所以沒有辦法通過cURL/PHP處理它們

+0

非常感謝您的評論!我很關心這些cookies,因爲我無法使用發佈數據登錄(下一步)。 – JoshG

+0

我懷疑他們會檢查分析cookie。您應該查找所需的隱藏輸入字段,例如,我可以看到他們獲得了__VIEWSTATE&__EVENTVALIDATION。 (https://myaccount.amsoil.com) – Jeppe

+0

我得到了包含在發佈數據...仍然無法登錄。由於這不是一個cookie問題,也許我應該用我正在使用的實際代碼創建另一個帖子來找出爲什麼我無法登錄。 – JoshG