Получить реальный URL с file_get_contents

0

Я хочу индексировать несколько веб-сайтов, чтобы я мог реализовать его данные в своей собственной структуре. Некоторые веб-сайты используют такие сервисы, как bit.ly, чтобы создавать меньшие URL-адреса, что очень неудобно. Я хотел бы использовать file_get_contents для получения как фактического URL-адреса, так и содержимого.

Как я могу это сделать?

  • 0
    zzz.rezo.net/HowTo-Expand-Short-URLs.html
  • 0
    не используйте file_get_contents, потому что большинство серверов отключают file_get_contents, поэтому вы можете использовать функцию CURL
Теги:
redirect
location
header
file-get-contents

1 ответ

0

Функция @Renaud

function get_web_page( $url ) {
    $res = array();
    $options = array( 
        CURLOPT_RETURNTRANSFER => true,     // return web page 
        CURLOPT_HEADER         => false,    // do not return headers 
        CURLOPT_FOLLOWLOCATION => true,     // follow redirects 
        CURLOPT_USERAGENT      => "spider", // who am i 
        CURLOPT_AUTOREFERER    => true,     // set referer on redirect 
        CURLOPT_CONNECTTIMEOUT => 120,      // timeout on connect 
        CURLOPT_TIMEOUT        => 120,      // timeout on response 
        CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects 
    ); 
    $ch      = curl_init( $url ); 
    curl_setopt_array( $ch, $options ); 
    $content = curl_exec( $ch ); 
    $err     = curl_errno( $ch ); 
    $errmsg  = curl_error( $ch ); 
    $header  = curl_getinfo( $ch ); 
    curl_close( $ch ); 

    $res['content'] = $content;     
    $res['url'] = $header['url'];
    return $res; 
}  
print_r(get_web_page("http://google.com/")); 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню