2012-02-21 16 views
0

Googleで最初の検索結果のhtmlページを取得する必要があります。私は基本的にクエリURLを検索する& BTNIを追加し、「私はラッキー感じて」グーグルを使っている、ということについては
。 たとえば、 - http://www.google.com/search?q=%22movie%22+site:amazon.com&btnIは、amazon.comの映画関連ページにリダイレクトされます。
JavaでリダイレクトURLからデータを取得すると403エラーが発生する

これはGoogleの検索クエリです。私は
エラーを取得しています

searchQuery = "http://www.google.com/search?q=%22movie%22+site:amazon.com&btnI"; 
URL url = new URL(searchQuery); 
InputStream response = url.openStream(); 
BufferedReader reader = new BufferedReader(new InputStreamReader(response)); 
for (String line; (line = reader.readLine()) != null;) { 
    System.out.println(line); 
} 
reader.close(); 

:私に知らせて..doより良いアプローチがある場合にも、いくつかの助けが必要http://www.google.com/search?q=%22movie%22+site:amazon.com&btnI
!!:URLの403:サーバーは、HTTPレスポンスコードを返し

答えて

1

HttpURLConnectionをお試しください。

次に#setFollowRedirects(true)とし、FirefoxやIEなどのユーザーエージェントを設定します。このよう

URLConnection connection = new URL(searchQuery).openConnection(); 
connection.setFollowRedirects(true); 
connection.setRequestProperty("User-Agent", 
     "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2"); 
connection.connect(); 
InputStream response = connection.getInputStream(); 
... 
+0

私のコードが失敗した理由を任意のアイデア? – r15habh