在PHP file_get_contents中设置useragent?

时间:2014-08-09 16:12:08

标签: php regex mobile

我正在尝试使用file_get_contents从页面获取内容以获取HTML和正则表达式以供进一步处理。

我从中获取内容的网站有一个桌面和移动网站,所以我想知道有没有办法发送自定义用户来获取移动网站而不是桌面网站?

使用file_get_contents我已尝试使用下面显示的代码,但我得到的只是一个空白页:

$options = array(
    'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-language: en\r\n" .
                  "Cookie: foo=bar\r\n" .
                  "User-Agent: Mozilla/5.0 (iPad; U; CPU iPad OS 5_0_1 like Mac OS X; en-us)   AppleWebKit/535.1+ (KHTML like Gecko) Version/7.2.0.0 Safari/6533.18.5\r\n" // i.e. An iPad )
);

$context = stream_context_create($options);
$file = file_get_contents('http://www.example.com/api/'.$atrib,false,$context);
$doc = new DOMDocument();// create new dom document

$doc->loadHTML($file);// load the xmlpage 

$tags = $doc->getElementsByTagName('video'); // find the tag we are looking for

foreach ($tags as $tag) { // for ever tag that is the same make it a new tag of its own

    if (isset($_GET['key']) && $_GET['key'] == $key) { // if key is in url and matches script key - do or dont

    echo $tag->getAttribute('src'); // get out 3 min video from the attribute in page

    } else { // if key is not in url or not correct show error

        echo "ACCESS DENIED!"; // our out bound error

    }

}

我试图让useragent从网站移动页面加载内容并使用正则表达式从页面中的这行代码中获取src网址,以防这是问题所在:

<video id="player" src="http://example.com/api/4.m3u8" poster="http://example.com/default.png" autoplay="" autobuffer="" preload="" controls="" height="537" width="935"></video>

1 个答案:

答案 0 :(得分:0)

如评论中Casimir et Hippolyte所述,取消注释"User-Agent: Mozilla...行末尾的右括号:

ini_set('display_errors', 'On');