본문 바로가기

cURL을 사용하여 리다이렉트를 따라가 최종 URL 가져오기

반응형

1. cURL을 사용하여 리다이렉트를 따라가 최종 URL 가져오기

<?php
function get_final_url($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 리다이렉트 따라가기
    curl_exec($ch);
    $final_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    curl_close($ch);
    return $final_url;
}

// 원본 URL
$url = "http://mytv.com/mtv/mid.php";

// 최종 리다이렉트된 URL 가져오기
$final_url = get_final_url($url);
echo "Final URL: " . $final_url;
?>

2. 최종 URL에서 m3u8 파일 읽기

<?php
function get_m3u8_content($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}

// 최종 리다이렉트된 URL에서 m3u8 파일 내용 읽기
$m3u8_content = get_m3u8_content($final_url);

// 내용 출력 또는 저장
echo $m3u8_content;

// 내용 파일로 저장하기
file_put_contents('kbsndrama.m3u8.txt', $m3u8_content);
?>

 

위의 두 스크립트를 하나로 통합하면 다음과 같습니다.

<?php
function get_final_url($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 리다이렉트 따라가기
    curl_exec($ch);
    $final_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    curl_close($ch);
    return $final_url;
}

function get_m3u8_content($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $content = curl_exec($ch);
    curl_close($ch);
    return $content;
}

// 원본 URL
$url = "http://mytv.com/mtv/mid.php";

// 최종 리다이렉트된 URL 가져오기
$final_url = get_final_url($url);
echo "Final URL: " . $final_url . "\n";

// 최종 리다이렉트된 URL에서 m3u8 파일 내용 읽기
$m3u8_content = get_m3u8_content($final_url);

// 내용 출력 또는 저장
echo $m3u8_content;

// 내용 파일로 저장하기
file_put_contents('kbsndrama.m3u8.txt', $m3u8_content);
?>

이 코드를 실행하면 최종 URL을 가져와 해당 m3u8 파일의 내용을 읽고, 이를 kbsndrama.m3u8.txt라는 파일로 저장하게 됩니다.

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.