Java を使用して Google に接続するときに 403 Forbidden が発生する
Java を使用して Google に接続して情報を取得しようとすると、403 Forbidden が発生する場合がありますWeb ブラウザでは同じリクエストが成功しても、エラーが発生します。その理由と修正方法は次のとおりです。
Java は、ブラウザーが自身を識別するために使用する「User-Agent」ヘッダーを自動的に設定しません。これにより、このヘッダーを使用してリクエストの正当性を判断する Web サイトで 403 エラーが発生する可能性があります。これを解決するには、「User-Agent」ヘッダーを次のように手動で設定します。
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");
さらに、応答を処理するには、Cookie の取得、リダイレクト トークン リンクの解析、必要な情報を抽出します。変更されたコードは次のとおりです。
String cookie = connection.getHeaderField("Set-Cookie").split(";")[0]; ... if (m.find()) { long amount = Long.parseLong(m.group(1).replaceAll(",", "")); return amount; }
これらの調整により、Java コードは Google から検索結果の量を正常に取得できるようになります。
以上がJava を使用して Google に接続すると 403 Forbidden エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。