PHP使用cookie登录

PHP使用cookie登录

问题描述:

我想通过卷曲登录到页面。如果成功登录将您重定向到实际的网站,并在那里看到内容。PHP使用cookie登录

基本上,有2个网址,第一个网址是发布登录凭据,另一个网址是登录后可见的内容。

我设法发送一个帖子请求到登录网址,它也成功地创建了一个有效的cookie,但我无法弄清楚如何使用cookie从第二个url中查看页面内容。

我想用这两个选项来检索第2页的内容,但是如果你查看它的源代码,它只是显示要重定向到的html代码的正常curl请求(代码中没有POSTFIELDS)登录网址。

curl_setopt($ch1, CURLOPT_COOKIEJAR, 'cookie.txt'); 
curl_setopt($ch1, CURLOPT_COOKIEFILE, 'cookie.txt'); 

关于我可能做错什么的想法?

+0

更多的代码将是有益的,因为在这两个请求任意数量的事情可能会造成这个问题。 – flesk 2012-02-02 08:39:58

+0

请在下面的答案中看到评论 – Kartik 2012-02-02 18:24:37

尝试更多的参数添加到您的卷曲的要求:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); 
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$string = curl_exec ($ch); 
curl_close ($ch); 
+0

所有这些都是当前存在的,但是当我传入url时,返回的内容是重定向到登录页面的html代码。暗示该cookie未传递。这就是为什么我很困惑 – Kartik 2012-02-02 07:06:59

+0

因此,最好给我们你试图访问的网站,我们可以做我们的测试,并返回正确的答案 – Ashraf 2012-02-02 08:51:18

+0

我现在使用刚刚粘贴到第一次登录的确切代码。在那里你的代码完美地设置了cookie。现在我正在尝试获取需要此Cookie的页面内容以显示内容。我会给你的URL,但你不能得到它的任何地方,因为你无法获得登录凭据。 – Kartik 2012-02-02 18:26:17