【发布时间】:2013-12-27 03:27:15
【问题描述】:
尝试使用 PHP 和 cURL 自动登录到 ASP.NET 站点,但遇到了 cookie 问题。
当我在浏览器中签入时,初始登录页面存储了 5 个 cookie。分别是 ASP.NET_SessionId、__utma、__utmb、__utmc 和 __utmz
当通过 cURL 访问此页面时,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>';
【问题讨论】: