반응형
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라는 파일로 저장하게 됩니다.
반응형
'SMART GPT' 카테고리의 다른 글
HTTPS로 접속한 사용자를 강제로 HTTP로 리디렉션 하려면 (0) | 2024.09.12 |
---|---|
PHP에서 MP3 파일을 직접 읽고 스트리밍 하기 (1) | 2024.09.07 |
현재 페이지가 location.reload()에 의해 새로고침되었는지 ... (0) | 2024.09.07 |
텍스트 파일을 읽고, 각 줄의 끝에서 6글자를 삭제한 후, 결과를 새로운 파일에 저장합니다. (0) | 2024.08.23 |
display: flex를 사용하여 요소를 가로세로 가운데 정렬하는 방법 (0) | 2024.08.07 |
grid-template-columns CSS (0) | 2024.08.07 |
리스트 항목 간에 특정한 여백을 설정하려면? (0) | 2024.08.06 |
PHP 5.x 버전에서 실행 가능한 10진수와 16진수 간의 변환을 수행하는 코드를 포함한 전체 웹 페이지 소스코드 (0) | 2024.08.06 |
댓글