我正在尝试创建一个‘远程登录’站点,但当我尝试下面的代码时,我得到了关于cookie被禁用的错误,我已经在谷歌上搜索了解决方案,但唯一解决的情况是有cURL的方式(Cookie jar),我该如何解决cookie问题?我如何才能找到该站点所需的cookie (大约有10个)?
<?php
$vars = array(
'email' => "*****",
'pass'=>"*****"
);
$content = http_build_query($vars);
$host = 'www.site.com';
$service_uri = '/login.php';
$vars ='login_mode=1';
$header = "Host: $host\r\n";
$header .= "User-Agent: PHP Script\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Referer: http://www.site.com \r\n";
$header .= "Content-Length: ".strlen($content)."\r\n";
$header .= "Connection: close\r\n\r\n";
$fp = fsockopen("".$host,80, $errno, $errstr);
if (!$fp)
{
echo "$errstr ($errno)<br/>\n";
echo $fp;
}
else
{
fputs($fp, "POST $service_uri HTTP/1.1\r\n");
fputs($fp, $header.$content);
while(!feof($fp))
{
echo fgets($fp, 128);
}
fclose($fp);
}
?>发布于 2012-06-09 00:15:53
您首先必须请求主页URL,它将为您提供cookie标头。通过将它们添加到$header变量来解析它们并将它们发送到服务器。
你不想关心站点需要哪一个cookie --只需要发送所有的cookie,这使得它是面向未来的。
如果你不想自己做这些,看看PEAR的HTTP_Request2包-它有内置的cookie处理。
https://stackoverflow.com/questions/10950389
复制相似问题