PHP fsockopen() cookie

标签 php cookies fsockopen

我正在尝试创建一个“远程登录”站点,但是当我尝试下面的代码时,我收到有关 cookie 被禁用的错误,我已经在 google 上搜索了解决方案,但唯一解决的情况是 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);
}
?>

最佳答案

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

您不想关心网站需要哪个 cookie - 只需发送所有 cookie,这样就可以面向 future 。

如果您不想自己做这一切,请查看 PEAR 的 HTTP_Request2包 - 它内置了 cookie 处理。

关于PHP fsockopen() cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950389/

相关文章:

java - Play WSResponse 没有来自 WSRequest 的 cookie 或 header

Rust 支持 cookie 的 HTTP 客户端

php - 从数据库检索后修改 HTML 结束标签

php - 更好地在表单提交按钮上使用jquery?

jquery - 对象函数 (a,b){return new e.fn.init(a,b,h)} 没有方法 'cookie'

error-handling - Fsockopen错误处理,此刻我收到警告,页面停止加载进一步的内容

php - fsockopen 错误我想跳过

javascript - 正确的方法 Javascript PHP MySQL

php - 将jQuery文件上传与表单结合到mysql

php_network_getaddresses : getaddrinfo failed: Name or service not known