【发布时间】:2011-11-02 15:15:02
【问题描述】:
我使用以下代码登录网站
$postData = array("login" => "Prijava", "loginEmail" => "****@****.***", "password" => "*****t", "signonForwardAction" => "/press/cm/si.press.viasat.tv?cc=si&lc=si");
$URL = "http://si.press.viasat.tv/press/cm/1.167?cc=si&lc=si";
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, $URL);
curl_setopt($connection, CURLOPT_POST, 1);
curl_setopt($connection, CURLOPT_POSTFIELDS, $postData);
curl_setopt($connection, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($connection, CURLOPT_REFERER, "http://si.press.viasat.tv");
curl_setopt($connection, CURLOPT_AUTOREFERER, true);
curl_setopt($connection, CURLOPT_HEADER, true);
curl_setopt($connection, CURLOPT_POSTREDIR, 2);
curl_setopt($connection,CURLOPT_COOKIEJAR, "C:\@DEV\TextALG\cookie.txt");
curl_setopt($connection,CURLOPT_COOKIEFILE, "C:\@DEV\TextALG\cookie.txt");
curl_exec($connection);
curl_close($connection);
问题是(在 Firebug 中发现)在登录后站点重定向到 URL(响应:302)。结果我又得到了登录屏幕。
我得到这样的 cookie:
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
si.press.viasat.tv FALSE /press FALSE 0 JSESSIONID 00FC3DCA4CFD806CDEBE2CAA7E999463
有什么想法吗?
【问题讨论】:
-
它适用于没有 302 响应的网站..
-
你试过
curl_setopt($connection, CURLOPT_HEADER, false);
标签: php curl http-status-code-302