PHP使用cookies登录

PHP使用cookies登录,php,http,cookies,curl,Php,Http,Cookies,Curl,我正试图通过curl登录到一个页面。成功登录会将您重定向到实际站点,您会看到其中的内容 基本上,有两个url,第一个url是发布登录凭据的url,另一个url是登录后内容可见的url 我设法向登录url发送了一个post请求,它也成功地创建了一个有效的cookie,但我不知道如何使用cookie从第二个url查看页面内容 我正在尝试使用这两个选项执行一个普通的curl请求(代码中没有POSTFIELDS),以检索第2页的内容,但是如果您查看其源代码,它只显示html代码以重定向到登录url cu

我正试图通过curl登录到一个页面。成功登录会将您重定向到实际站点,您会看到其中的内容

基本上,有两个url,第一个url是发布登录凭据的url,另一个url是登录后内容可见的url

我设法向登录url发送了一个post请求,它也成功地创建了一个有效的cookie,但我不知道如何使用cookie从第二个url查看页面内容

我正在尝试使用这两个选项执行一个普通的curl请求(代码中没有
POSTFIELDS
),以检索第2页的内容,但是如果您查看其源代码,它只显示html代码以重定向到登录url

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

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

尝试向CURL请求添加更多参数:

$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);  

所有这些当前都存在,但当我传入url时,返回的内容是重定向到登录页面的html代码。这意味着没有传递cookie。这就是为什么我感到困惑,所以最好给我们你试图访问的网站,我们可以做我们的测试,并返回正确的答案。我现在使用的正是你刚刚粘贴到第一次登录的代码。上面的代码完美地设置了cookie。现在,我试图获取需要此cookie才能显示内容的页面内容。我会给你一个URL,但你不能用它去任何地方,因为你将无法获得登录凭据。更多的代码会很有用,因为两个请求中的任何事情都可能导致这个问题。请查看下面答案中的注释