ブラウザで Web ページを開くと、正常に Web ページにアクセスできます。しかし、オンラインで Java の Web ページのソース コードを取得するのに疲れると、Web ページは自動的に別のページにリダイレクトされ、プログラムで新しい Web ページのソース コードしか取得できません。Javaでそのようなリダイレクトを壊す方法はありますか?
ありがとう。
以下は、私のプログラムでソース コードをフェッチする部分です。
リンク先の Web ページは、中国最大のインターネット企業 (Baidu) が所有するオンライン コミュニティ Web ページ (Facebook など) です。
次のプログラムを実行すると、コンソールに投稿された Web ページのソース コードが、ブラウザーから取得できるコードではないことがわかります。また、コンソールに投稿されたソース コードは、次の Web ページで見つけることができるものとほぼ同じです 。 %8E%E9%AA%8F%E5%90%A7&url=http://tieba.baidu.com/f?kw=%B9%AC%C6%E9%BF%A5
これは、Web ページがリダイレクトされたことを示しています。
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);
}
}
}