2015-02-05 1 views
-1

저는 간단한 HTML Dom을 사용하고 있는데 href 링크를 쉽게 얻을 수 있습니다. 그러나 링크를 클릭하면 링크가 열리고 길어 보이는 URL을 다음과 같이 변환하면됩니다. 짧거나 진짜 링크 나는이 링크가 어떻게 내가이 진짜 링크를 얻을 수 있는지 알려주세요. 여기 어떻게이 실제 링크를 얻을 수 있습니까

내가

<a href="/external.php?title=Camp+Massacre&amp;url=aHR0cDovL3ZpZHppLnR2L2Z3eWM4bmZreDJ3eC5odG1s&amp;domain=dmlkemkudHY=&amp;loggedin=1" onclick="return addHit('1894159921', '1')" rel="nofollow" title="Watch Version 1 of Camp Massacre" target="_blank">Version 1</a> 

그리고 그것은 새 창에서이 링크를로드하고 난이 실제 링크를 원하는 링크를 클릭을 한 후 간단한 HTML DOM을 사용하여 얻을 코드입니다. 모든

http://vidzi.tv/fwyc8nfkx2wx.html

+0

@ChunchiuChan이 지적했듯이 서버는 리다이렉션하고 OP는 리다이렉트 할 HTTP 요청 (?!)을 보내기 전에 알고 싶어한다. – Mawg

답변

1

첫째, 당신의 의미, 특히 "실제 링크"를 얻을 수 있기를 바랍니다. 페이지를 열 때 귀하의 경우에는

, URL은 어쩌면 원래 뭔가 http://www.aaa.com/aaa/bbb/ccc/ddd.php?id=1234567890처럼, 그것은된다 http://www.aaa.com/aaa/bbb/ccc/eee.php

서버가 원래의 URL에 따라 다른 페이지로 리디렉션하기 때문 일 수 있습니다. 이것은 서버 측 문제이기 때문에 클라이언트 인 경우 리디렉션 된 위치를 알 수 없습니다.

다른 가능한 이유는 서버가 .htaccess 파일을 사용하여 URL을 다시 작성하기 때문입니다. herehere

로그인 문제와 관련하여 일부 서버는 쿠키를 읽거나 세션 변수를 유지합니다. 따라서 쿠키 나 세션 정보를 작성하고 함께 보내야하므로 "실제 링크"를 얻을 수 있습니다.


내가 언급 한 것처럼 리디렉션되는 것으로 생각됩니다.

기본 URL이 http://www.aaa.com 인 것으로 가정하면 태그가 표시됩니다. href에 값 /external.php?title=Camp+Massacre&amp;url=aHR0cDovL3ZpZHppLnR2L2Z3eWM4bmZreDJ3eC5odG1s&amp;domain=dmlkemkudHY=&amp;loggedin=1 이 들어 있습니다. 그런 다음 기본 URL과 href를 결합합니다. 그러나 이것은 PHP에 액세스하고 있기 때문에 서버 측 PHP 프로그램이 html 페이지로 리디렉션하기 때문에 http://vidzi.tv/fwyc8nfkx2wx.html을 줄 수 없습니다.

PHP를 사용하여 리디렉션에 관해서는, this는 이해


당신이 AJAX를 사용하는 것이, 매트로 answer를 참조하십시오 가정에 도움이 될 수 있습니다. 그는 getResponseHeader('Location')의 사용을 제안하고 내 WAMP 서버에

=====>page_1.html 
<html> 
    <title>Page 1</title> 
    <body> 
     <p>This is page 1</p> 
     <a href="ext.php" target="_blank">another page</a> 
    </body> 
</html> 

=====>page_2.html 
<html> 
    <title>Page 2</title> 
    <body> 
     <p>This is page 2</p> 
    </body> 
</html> 

=====>ext.php 
<?php 
header('Location: http://localhost/testing/page_2.html'); 
?> 

=====> page_3.html 
<html> 
    <title>Page 3</title> 
    <script> 
    function loadXMLDoc(){ 
     var xmlhttp; 
     if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp = new XMLHttpRequest(); 
     }else{// code for IE6, IE5 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

     xmlhttp.onreadystatechange = function(){ 
      alert("Status Text: " + xmlhttp.status + "; " + xmlhttp.statusText); 
      alert(xmlhttp.getAllResponseHeaders()); 

      if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
       alert("Response text: " + xmlhttp.responseText); 
      } 
     } 
     xmlhttp.open("GET","ext.php",true); 
     xmlhttp.send(); 
    } 
    </script> 

    <body> 
     <p onclick="loadXMLDoc();">load</p> 
    </body> 
</html> 

이 예상된다 다음 웹 페이지를 사용하여 시도하는 ext.php 접근에 page_3.html 결과의 텍스트 "부하"를 클릭하고 난 리디렉션 할 것 ~ page_2.html. 매트에 따르면, 내 작업이 정확하다면 헤더에서 "Location"속성을 얻을 수 있습니다.

이 경우 FireFox를 사용하여 테스트하고 html 콘텐츠를 page_2.html로 가져올 수 있지만 오페라를 사용하면 오류가 발생합니다. 두 경우 모두 응답 헤더에서 "위치"특성을 볼 수 없으며 서버가 응답 헤더를 작성하는 방법과 관련이 있다고 생각합니다. 다시 말하면 서버 쪽 문제 일 것입니다. 행운을 빕니다!

+0

다시 검토하십시오 제 질문을 편집하십시오 –

+0

이 외부 링크는이 짧은 링크가 필요한 짧은 URL을 암호화 한 뒤에 가짜 링크입니다.이 짧은 링크는 필요하지만 링크를 클릭하면 나타납니다. 그러나 어떻게이 원래의 짧은 링크를 얻을 수 있는지 모르겠습니다. 간단한 html dom –

+0

a_href 태그와 함께 삽입 된 텍스트 "버전 1"을 클릭 한 다음 원하는 페이지 인 새 창을 보시겠습니까? –