对于游戏相关的项目。
要访问游戏数据,用户必须"授权"访问。要做到这一点,他们访问网站上的一个页面,该页面在用户的PC上设置了3个cookie。
当用户查看特定的XML url时,游戏服务器检查这些cookie是否正确,并返回所需的信息。
我的问题是,我如何使用用户的cookie解析这些XML文件,为数据添加样式等?
如果我使用cURL加载url,并使用CURLOPT_COOKIE
预先确定相关的cookie,它将正确返回信息。
然而,我将不知道用户的cookie,因为它们只对游戏的域有效。
我确信这是可能的,尽管可能不是通过这种方法,因为之前使用相同的数据已经完成了。
cookie集合如下:
toolbar_code = 19 digit auth code
toolbar_hash = 19 digit hashed username
toolbar_remember = true
您无法跨域读取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);";
}
?>