首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP fsockopen() cookie

PHP fsockopen() cookie
EN

Stack Overflow用户
提问于 2012-06-08 22:05:19
回答 1查看 1.9K关注 0票数 2

我正在尝试创建一个‘远程登录’站点,但当我尝试下面的代码时,我得到了关于cookie被禁用的错误,我已经在谷歌上搜索了解决方案,但唯一解决的情况是有cURL的方式(Cookie jar),我该如何解决cookie问题?我如何才能找到该站点所需的cookie (大约有10个)?

代码语言:javascript
复制
<?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);
}
?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-09 00:15:53

您首先必须请求主页URL,它将为您提供cookie标头。通过将它们添加到$header变量来解析它们并将它们发送到服务器。

你不想关心站点需要哪一个cookie --只需要发送所有的cookie,这使得它是面向未来的。

如果你不想自己做这些,看看PEAR的HTTP_Request2包-它有内置的cookie处理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10950389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档