Radar

짧은주소 최종경로 알아내기

· 2019-03-25 (월) 12:50:35 · 7659 · 3

[code]

<?php
//https://bit.ly/2TTEdPx
//http://bitly.kr/Google179293

function CheckLink($Link){
    $Curl = curl_init();
    curl_setopt($Curl, CURLOPT_URL, $Link);
    curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($Curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($Curl, CURLOPT_HEADER, true);
    curl_setopt($Curl, CURLOPT_NOBODY, true);
    curl_setopt($Curl, CURLOPT_RETURNTRANSFER, true);
    $Result = curl_exec($Curl);
    if(preg_match("/Location/", $Result)){
        $Slice = explode("Location:", $Result);
        $Slice = explode("\n", $Slice[1]);
        $Slice[0] = preg_replace("/\s+/", "", $Slice[0]);
        if($Slice[0]){
            return CheckLink($Slice[0]);
        }
    }else{
  return $Link;
    }
}
echo CheckLink("https://bit.ly/2TTEdPx");
?>

[/code]

 

예제 입니다.

자유게시판에 이런 글이 있길래 싶어서 올려봅니다.

 

도메인 3개로 짧게 처리 했을 때도 정상적으로 테스트 해보니 잘되네요.

google.com 도메인을 bitly.kr 사이트에서 짧은주소 받고 http://bitly.kr/Google179293 주소를 bit.ly에서 http://bitly.kr/Google179293 짧은주소를 다시 짧은 주소로 만들었습니다.

 

정상적으로 google.com 임을 알아내는 코드 입니다.

 

 

http://google.com => http://bitly.kr/Google179293 => https://bit.ly/2TTEdPx 짧게 처리 했을 때

https://bit.ly/2TTEdPx => http://bitly.kr/Google179293 => http://google.com 실제 실제 google.com 주소가 출력됩니다.

 

 

 

|

댓글 3개

원리는 대충 그렇습니다.
1. 원본주소
2. 짧은주소
3. 짧은주소

라고 했을 경우 3번 짧은 주소를 넣게되면
2번 짧은 주소에게 갔다가 header에 Loaction 더 있다면 계속 찾습니다.
그리고 결국 마지막 Location를 찾고 그것을 리턴 합니다.
적용하려면 어떻게 해야 할까요?
감사합니다 스크랩합니다
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,790건
+
제목 글쓴이 날짜 조회
19-04-14 조회 9,389
19-04-12 조회 1만
19-04-10 조회 9,308
19-04-09 조회 1.1만
19-04-09 조회 6,199
19-04-09 조회 8,922
19-04-08 조회 8,932
19-04-06 조회 1.1만
19-04-06 조회 6,386
19-04-06 조회 6,253
19-04-06 조회 6,658
19-04-06 조회 7,317
19-04-06 조회 1.2만
19-04-05 조회 6,889
19-04-05 조회 6,447
19-03-31 조회 1만
19-03-31 조회 6,549
19-03-29 조회 7,093
19-03-28 조회 6,592
19-03-28 조회 1만
19-03-27 조회 6,615
19-03-26 조회 8,975
19-03-26 조회 6,941
19-03-25 조회 1.2만
19-03-25 조회 7,794
19-03-25 조회 7,660
19-03-23 조회 6,584
19-03-19 조회 6,400
19-03-15 조회 7,102
19-03-13 조회 9,112