Как запросить мобильную версию с помощью file_get_contents () в PHP? - PullRequest
6 голосов
/ 08 февраля 2011

Спасибо за просмотр моего вопроса.

Я хочу получить мобильную версию с помощью либо file_get_contents (), либо cURL. Я знаю, что это можно сделать с помощью изменения заголовков HTTP в запросе. Можете ли вы дать мне простой пример для этого?

Еще раз спасибо!

С уважением, Sanket

Ответы [ 3 ]

15 голосов
/ 08 февраля 2011

В качестве альтернативы можно также использовать file_get_contents и stream_context_create :

$opts = array('http' =>
    array(
        'header'  => 'User-agent: Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3',
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents($url, false, $context);
9 голосов
/ 08 февраля 2011

Это то, что вы ищете?

curl -A "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3" http://example.com/your-url
7 голосов
/ 08 февраля 2011

Вам нужно установить строку агента пользователя:

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$page = curl_exec($ch);
curl_close($ch);
...