file_get_contents () для коротких URL-адресов

file_get_contents() не читает данные для коротких URL-адресов Пример:

  • http://wp.me/pbZy8-1WM,
  • http://bit.ly/d00E2C

Пожалуйста, помогите мне справиться с этим. ИЛИ Есть ли функция CURL для обработки вышеуказанных ссылок?

Это вообще прекрасно работает. Если вы обнаружите, что не правильно, вы можете явно использовать контекст потока:

 $url = "http://bit.ly/d00E2C"; $context = stream_context_create(array('http' => array('max_redirects' => 5))); $val = file_get_contents($url, false, $context); 

должен это сделать. Не нужно прикасаться к CURL.

На моей машине я не могу воспроизвести вашу проблему; Я получаю страницу по своему усмотрению. Однако, если проблема связана с перенаправлением, это может решить вашу проблему.

 <?php $opts = array( 'http' => array( 'follow_location' => 1, 'max_redirects' => 20 ) ); $context = stream_context_create($opts); echo file_get_contents('http://wp.me/pbZy8-1WM', false, $context); 

Я предполагаю, что может быть директива, которая переключает перенаправление, но я еще не нашел ее. Я отредактирую свой ответ, если я буду.

Что вы можете сделать, это использовать curl с CURLOPT_FOLLOWLOCATION, установленным в True:

 $ch = curl_init("http://bit.ly/d00E2C"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); $result = curl_exec($ch); curl_close($ch); echo $result;