브라우저에서 웹 페이지를 열었을 때 성공적으로 웹 페이지에 연결할 수 있습니다. 그러나 자바 온라인에서 웹 페이지의 소스 코드를 얻는 것에 지쳤을 때, 웹 페이지는 자동으로 다른 페이지로 리다이렉션되었고, 그래서 나는 나의 프로그램에서 새로운 웹 페이지의 소스 코드만을 얻을 수 있었다. 자바에서 이러한 리디렉션 문제를 깰 수있는 방법이 있습니까?URLConnection을 사용하여 다른 페이지로 자동으로 리디렉션되었을 때 원본 웹 페이지 소스 코드를 가져 오는 데 어려움이 있습니다.
많은 Thx.
다음은 내 프로그램에서 소스 코드를 가져 오는 부분입니다.
대상 웹 페이지는 중국에서 가장 큰 인터넷 회사 (Baidu)에 속한 온라인 커뮤니티 웹 페이지 (Facebook과 같습니다)입니다.
다음 프로그램을 실행하면 콘솔에 게시 된 웹 페이지 소스 코드가 브라우저에서 가져올 수있는 코드가 아님을 알 수 있습니다. 콘솔에 게시 된 소스 코드는 다음 웹 페이지에서 찾을 수있는 내용과 거의 동일합니다. http://www.baidu.com/search/ressafe.html?q=%E5%AE%AB%E5%B4%8E%E9%AA%8F%E5%90%A7&url=http://tieba.baidu.com/f?kw=%B9%AC%C6%E9%BF%A5
웹 페이지가 리디렉션 된 것으로 나타납니다.
import java.net.*;
import java.io.*;
import java.util.*;
public class URLConnectTest {
public static final String s = "%B9%AC%C6%E9%BF%A5";
public static void main(String[] args) throws Exception {
URL u = new URL("http://tieba.baidu.com/f?kw=" + s);
URLConnection yc = u.openConnection();
/* I've ever tried to reset the UA, which doesn't work.
yc.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.16 Safari/534.24");
*/
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
}
}
모든 브라우저 유형에서이 동작이 발생합니까? – UVM
내 질문의 혼란스러운 부분에 대해 죄송합니다. 자바가 아닌 브라우저에서 소스 코드를 가져 오려고하면 뭔가 잘못되었습니다. –