无法使用使用file_get_contents解析的JSON脚本获取URL

时间:2014-03-27 23:53:17

标签: php json file-get-contents

我有这个链接我要解析其中的一些信息或只是将其保存在文件中......

如果没有这个简单的代码,

就无法做到:

示例:

<?php
$myFile = 'test.txt'; 
$get= file_get_contents("http://www.ticketmaster.com/json/resale?command=get_resale_listings&event_id=0C004B290BF2D95F");
file_put_contents($myFile, $get); ?>

输出结果为:

{"version":1.1,"error":{"invalid":{"cookies":true}},"command":"get_resale_listings"}

我尝试了很多其他的东西,比如fopen或者包括也没用。我不明白,因为当我把网址放在浏览器中时,它显示所有代码(谷歌浏览器)或甚至更好地要求我将其保存为文件(资源管理器)。看起来像浏览器cookie或者我的localhost上没有加载的东西??

感谢您的提示。

1 个答案:

答案 0 :(得分:1)

您需要使用CURL访问该网址。

服务器检查客户端是否启用了cookie。使用file_get_content()您不发送有关客户端(浏览器)的任何信息。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.ticketmaster.com/json/resale?command=get_resale_listings&event_id=0C004B290BF2D95F');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_exec($ch);