2014-06-16 2 views
0

"http://www.example.com/a?s=12"과 같은 문자열을 사용하여 URL 객체를 만듭니다. 문자열 serverResponse에서 HTML 응답을 읽었습니다. 이 문자열에는 JavaScript 및 CSS가 포함 된 페이지의 전체 HTML이 있어야합니다. 그러나 이상하게도 "http :"라는 단어가 응답에있는 모든 URL에서 누락되었습니다 (예 : "http://example.com" 대신 "//asd.com"이 표시됨). 어떤 아이디어?HttpUrlConnection의 응답에서 'http'라는 단어가 생략되었습니다.

URL obj = new URL(url); 
    HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 
    con.setRequestMethod("GET"); 

    BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 
    String inputLine; 
    StringBuffer serverResponse = new StringBuffer(); 

    while ((inputLine = in.readLine()) != null) { 
     serverResponse.append(inputLine); 
     System.out.println(inputLine); 
    } 
    in.close(); 

    System.out.println(serverResponse); 

답변

1

이 문자열은 자바 스크립트를 가지고 있으며, CSS가 포함 된 페이지의 전체 HTML이 예상된다.

왜? 제대로 구성된 사이트는 가능한 한 상대 URL을 사용합니다. 이것은 그들 중 하나 인 것 같습니다. 잘 했어, 그렇지 않으면 네가 일하는거야.

이상하게도 "http://example.com"대신 응답에있는 모든 URL에 "http :"라는 단어가 없습니다. "//asd.com"이 표시됩니다. 어떤 아이디어?

프로토콜 관련 URL입니다.

+0

감사합니다. 문제를 이해합니다. – zafar142003

+0

그러나 브라우저에서 동일한 URL을 쿼리 할 때 "http :"와 함께 완전한 HTML을 얻습니다. 어떻게 가능합니까? – zafar142003

+0

신경 쓰지 마라. – zafar142003

관련 문제