2017-09-19 12 views
0

웹 페이지의 내용을 읽는 URL (http://myURL.com)이 있습니다. 문제는 페이지 1 콘텐츠 만 읽을 수 있다는 것입니다. 페이지 2의 내용을 읽을 때 jsoup API를 사용하여 페이지 2의 페이지 매김 페이지의 URL을 표시하면서도 page2의 내용을 표시하는 대신 인쇄 할 때 page1의 내용을 표시하지만 page2의 URL을 브라우저에서 열면 내용을 표시합니다 페이지 2의 웹 브라우저에서. 페이지 매김이 발생할 때 다른 페이지의 내용을 읽는 방법에 대한 제안 사항이 있습니까?URL에 페이지 매김이있을 때 다른 페이지를 탐색하는 방법

원본 URL : 페이지 2의

http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA 

URL :

http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA #InplviewHash038662ba-180e-41fc-8ad6-8b9805aa1b8b=Paged%3DTRUE-p_SortBehavior%3D0-p_FileLeafRef%3DGM%255fSW%2520TEAM%255fProgram%255fStatus%255f20170821%255fvFNAL%252epdf-p_ID%3D85-PageFirstRow%3D31-RootFolder%3D%252fsites%252fijjhhj3%252fyeal%2520Documents%252fstatus%2520Report%252f2017 

자바 코드 :

public class Tester { 
     private static final String page1URL = "http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA"; 

    private String final String page2URL= "http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA#InplviewHash038662ba-180e-41fc-8ad6-8b9805aa1b8b=Paged%3DTRUE-p_SortBehavior%3D0-p_FileLeafRef%3DGM%255fSW%2520TEAM%255fProgram%255fStatus%255f20170821%255fvFNAL%252epdf-p_ID%3D85-PageFirstRow%3D31-RootFolder%3D%252fsites%252fijjhhj3%252fyeal%2520Documents%252fstatus%2520Report%252f2017"; 
     public static void main(String[] args) throws IOException { 
      org.jsoup.nodes.Document doc = Jsoup.connect(page1URL).get(); 
      System.out.println(doc); 
    } } 
(매김 페이지의 페이지 2를 확인하기 위해 다음 버튼을 클릭 후)

위의 코드에서 page2URL도 전달하면 page1의 내용 만 표시되지만 브라우저는 page2 내용을 보여줍니다. 그것은 page2URL이 page1 (페이지 매김)에서 다음 버튼을 클릭 할 때 발생 된 URL이기 때문에입니까?

ps : page2URL은 page1URL과 같지만 추가 어펜더가있는 경우 (# InplviewHash03 ....) 두 URL을 비교하여 차이점을 확인하십시오.

+0

2 페이지의 내용을 액세스 할 수 있습니다. 여기에 약간의 속임수를 썼다. 결과적으로 당신은 단순히 질문을 다시 받아들입니다 ... 흠 ... 나를 다시 돕는 기분이 들게하지는 않습니다. – luksch

답변

0

URL에서 #의 의미를 읽어 보시기 바랍니다. 브라우저가 원래 해당 요소의 표시로 바로 이동할 수 있도록 페이지 내에서 원래 앵커로 의미되었습니다. 요즘은 JavaScript를 통해 매개 변수를 읽을 수 있기 때문에 AJAX에 사용됩니다. 참고로이 웹 사이트는 자바 스크립트를 통해 원본 콘텐츠를받은 후 2 페이지의 내용을로드 자바 스크립트가 포함되어 의미 What is the meaning of # in URL and how can i use that?

참조하십시오. 난 당신이 제거 질문에 전에를 설명하고있는 바와 같이, JSoup는 자바 스크립트를 실행하지 않을 것이다, 그래서 당신은 여전히 ​​AJAX 호출을 식별하고 그 호출의 실제 매개 변수를 얻는 필요합니다. 이있을 때, 당신은 당신이 이것에 대해 첫 번째 질문을 제거하는 이유가 궁금