使用用户的cookie访问xml

时间:2011-07-14 19:04:19

标签: php xml cookies curl

与游戏相关的项目。

要访问游戏数据,用户必须“授权”访问。为此,他们访问网站上的一个页面,该页面在用户的PC上设置了3个cookie。

当用户随后查看某些XML URL时,游戏服务器会检查这些cookie是否正确,并返回所需的信息。

我的问题是,如何使用用户的cookie解析这些XML文件,为数据添加样式等?

如果我使用cURL加载网址,并CURLOPT_COOKIE预先确定相关的Cookie,则会正确返回信息。

但是,我不会知道用户的cookie,因为它们只对游戏的域名有效。

我确信这是可能的,尽管可能不是通过这种方法,因为它是在使用相同数据之前完成的。

设置的Cookie是:

toolbar_code = 19 digit auth code
toolbar_hash = 19 digit hashed username
toolbar_remember = true

1 个答案:

答案 0 :(得分:2)

你无法阅读XML跨域(无论如何没有CORS,而且还不够成熟)。

使用远程脚本检查cookie并将数据返回给调用者站点的最简单方法是将<script>指向远程站点,并在其中执行JavaScript,从而提供调用者数据。正常的方法是JSONP

客户端:

<script type="text/javascript">
    function receiveData() {
        ...do something...
    }
</script>
<script type="text/javascript" src="http://gamedataserver/getdata.php?jsonp=receiveData"></script>

服务器端:

<?php
    header('Content-Type: text/javascript');
    header('Cache-Control: no-cache');
    if (...user auth is OK...) {
        $callbackfn= preg_replace('/[^a-z_]/', '', $_GET['jsonp']);
        $json= json_encode(...game data...);
        echo "$callbackfn($json);";
    }
?>