1

首先,我对我的英语感到抱歉,我的英语写作不好,我没有时间通过​​拼写检查。kkk

所以,这是我的问题的概述。我能够使用 PHP CURL 命令登录 ASPX 页面,发送带有 ASPX 请求的所有疯狂变量的帖子数据。我的问题是,要将帖子数据(带有用户名和密码)发送到登录页面,我必须在之后,将帖子数据(带有一些疯狂的东西)发送到登录页面,以获得对该页面的访问权限,换句话说,如果我将一些指定的帖子数据(带有那个疯狂的 stuuf)发送到页面,我只能访问登录页面,如果我不发送它,我将被重定向到主页,而不是登录页面。

我能够使用疯狂的帖子对登录页面执行 CURL 命令并访问登录页面。现在,在发送第一个疯狂的帖子以访问登录页面后,如何将带有用户/密码的帖子发送到登录页面?

你们有没有看错?如果没有,我可以尝试解释更多。

谢谢!!

拉斐尔

4

1 回答 1

0

如果您想让用户访问仅在登录后可用的页面 - 您必须从登录页面保存 COOKIE,然后将每个请求发送给他们。这可以通过卷曲来完成。

获取饼干:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$data = curl_exec($ch);
$header = substr($data, 0, curl_getinfo($ch, CURLINFO_HEADER_SIZE));
$body = substr($data, curl_getinfo($ch, CURLINFO_HEADER_SIZE));
preg_match_all("/Set-Cookie: (.*?)=(.*?);/i", $header, $res);
$cookie = '';
foreach ($res[1] as $key => $value) {
   $cookie .= $value . '=' . $res[2][$key] . '; ';
};
curl_close($ch);

将 cookie 返回到另一个 curl 请求:

curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
于 2013-03-21T08:52:02.500 回答