Невозможно получить исходный код HTML с помощью cUrl или file_get_contents

Извините, не удалось получить html исходный код этого URL: http://www.picbear.com/tag/ok;

я всегда получаю пустую страницу с сообщением ["Hello Stranger"].

нет проблем, если я использую инструменты Chrome.

я всегда использовал file_get_contents или же php_simple_html DOM-парсер без проблем.

я не могу получить доступ к php.ini из-за ограничений моего провайдера, но все должно быть в порядке.

помочь кому-нибудь? Благодарю.

$url = "http://www.picbear.com/tag/ok";

$html = file_get_contents($url);

echo $html;

1 ответ

Решение

Просто добавь User-Agent заголовок:

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://picbear.com/tag/ok",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "cache-control: no-cache",
    "user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" // Here we add the header
  ),

));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
Другие вопросы по тегам