0

我已经制作了一个脚本来通过 API 登录到 Vbulletin

这是代码

<?php    
include 'connector.class.php';
    if ($connector==null)
    {
        $connector = new vbConnector();
    }
    $do=$_GET['do'];
    if ($do=="login")
    {

        $user_name=$_GET['username'];
        $user_pass=$_GET['password'];
        $res= $connector->doLogin($user_name,$user_pass, 1);
        echo  $res;
    }

当我通过 url 请求这个时,例如 (http://example.com?do=login&username=test&password=test) 它工作得很好,一切都很好

当我尝试 curl 或 file_get_content 相同的 url 时,它永远不会记录我是

这是我的一些试验

<?php
    $opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE']."\r\n"));
$context = stream_context_create($opts);
echo file_get_contents("http://192.168.5.55/vb_api/index.php?do=login&username=test&password=test");
4

1 回答 1

1

你没有传入$context你的 file_get_contents 调用。尝试这个:

<?php
    $opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE']."\r\n"));
    $context = stream_context_create($opts);
    echo file_get_contents("http://192.168.5.55/vb_api/index.php?do=login&username=test&password=test",false,$context);
?>

我知道这很旧,但我刚刚找到了我帖子的相关链接,希望能解决您的问题。

于 2012-09-20T18:35:00.223 回答