-1

我正在尝试file_get_contents()https://satoshidice.com/api/status上做一个并且它正在返回这个 - http://puu.sh/58lCb

print file_get_contents($this->base . 'status');

$this->base是 satoshidice.com/api(带有 http)。

为什么它会返回上面发布的图像中的内容..?

4

1 回答 1

6

建议您使用 cURL 而不是 file_get_contents

$_curl = curl_init();
curl_setopt($_curl, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($_curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($_curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($_curl, CURLOPT_COOKIEFILE, './cookiePath.txt');
curl_setopt($_curl, CURLOPT_COOKIEJAR, './cookiePath.txt');
curl_setopt($_curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.1)');
curl_setopt($_curl, CURLOPT_FOLLOWLOCATION, true); //new added
curl_setopt($_curl, CURLOPT_URL, $url);
$rtn = curl_exec( $_curl );

更新:添加了“CURLOPT_FOLLOWLOCATION”

解释:

对于此主机,它将检查 cookie 是否存在。

如果请求的 cookie 不存在,它将创建 cookie 并生成 HTTP 代码 307 进行重定向:

https://satoshidice.com/api/status?stage=1

于 2013-11-04T06:23:03.540 回答