PHP卷曲位置更改

PHP卷曲位置更改,php,curl,Php,Curl,我使用cURL在登录系统后面显示页面内容。我能够成功登录并显示登录系统后面的第一页,但无法显示任何后续页面 我对问题的理解是,cURL遵循登录后提供的标题。因此,如果顺序是login.php->home.php,我想转到account.php,我需要另一个指向该页面的标题 对吗?登录后是否可以使用cURL显示其他页面的内容?您需要处理cookies。会话身份验证需要它们 从第一次调用中获取Cookie头,并将其与所有后续调用一起发送。您必须知道登录页面(通常)是如何工作的。当您登录到一个站点时,

我使用cURL在登录系统后面显示页面内容。我能够成功登录并显示登录系统后面的第一页,但无法显示任何后续页面

我对问题的理解是,cURL遵循登录后提供的标题。因此,如果顺序是login.php->home.php,我想转到account.php,我需要另一个指向该页面的标题


对吗?登录后是否可以使用cURL显示其他页面的内容?

您需要处理cookies。会话身份验证需要它们


从第一次调用中获取Cookie头,并将其与所有后续调用一起发送。

您必须知道登录页面(通常)是如何工作的。当您登录到一个站点时,该站点将向您发送一个会话cookie,您将在每次请求新页面时再次向该站点发送该cookie。因此,如果您想模拟登录,您必须存储登录返回的cookie,然后将它们包含在站点的每个其他请求中。

您可能需要保存和传输cookie。这可以在PHP cURL中完成,如下所示:

$ch = curl_init();

// set your regular options
curl_setopt($ch, CURLOPT_URL, 'http://somedomain.com/login.php');
curl_setopt($ch, CURLOPT_POSTFIELDS, array('user'=>'foo', 'pass'=>'bar'));

// set where cookies are saved
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');

// set where cookies are retrieved from when sent to the server
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');

// execute login
curl_exec($ch);

// do another request
curl_setopt($ch, CURLOPT_URL, 'http://somedomain.com/restricted_page.php');
curl_setopt($ch, CURLOPT_HTTPGET, 1);
curl_exec($ch);

你能提供一些代码来演示我在登录到另一个页面后如何使用cURL吗?之后,我如何在使用cURL登录后更改页面的位置?@John:这必须为每个cURL请求设置。一旦你登录,通过(再次)指定这两个选项请求另一个页面,你应该很好。我不知道登录后如何请求另一个页面。你有一个代码示例来说明如何做到这一点吗?谢谢@约翰·史密斯如果能解决你的问题,别忘了接受答案。当你有时间的时候也可以阅读FAQ。好的,谢谢。我现在可以进入下一页了,但是在下一页之后呢?或者导航到其他页面?