ホームページ >Java >&#&チュートリアル >Google 検索では Java プログラムで 403 Forbidden エラーが発生するのに、ブラウザでは発生しないのはなぜですか?

Google 検索では Java プログラムで 403 Forbidden エラーが発生するのに、ブラウザでは発生しないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-12 13:54:11376ブラウズ

Why Does My Java Program Get a 403 Forbidden Error from Google Search While My Browser Doesn't?

403 Forbidden Encountered with Java but Not Web Browser

Java プログラムを使用して Google 検索用語の結果数を取得しようとすると、開発者は 403 エラーに遭遇することがあります。 Web ブラウザは正しい結果を提供しますが、禁止されたエラーが発生しました。この不一致は、Java プログラムにユーザー エージェント ヘッダーがないことが原因で発生します。

解決策:

問題を解決するには、ユーザー エージェント ヘッダーを設定する必要があります。 Java プログラム内で。次のコード スニペットを実装します。

URLConnection connection = new URL("https://www.google.com/search?q=" + query).openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
connection.connect();

BufferedReader r = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8")));

...

注:

  1. SSL 処理: に示されているように、SSL は透過的に処理されます。例外スタックトレース。
  2. 結果の量取得: 正確な結果量を取得するには、Cookie の取得やリダイレクト トークンの解析などの追加手順が必要です。
  3. コード例: 提供されたコードは、正しい数値が得られる完全なプロセスを示しています。結果の数。

以上がGoogle 検索では Java プログラムで 403 Forbidden エラーが発生するのに、ブラウザでは発生しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。