我有这个链接我要解析其中的一些信息或只是将其保存在文件中......
如果没有这个简单的代码,就无法做到:
示例:
<?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上没有加载的东西??
感谢您的提示。
答案 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);