首页 > Java > java教程 > 为什么我的 Java 程序从 Google 搜索中收到 403 禁止错误,而我的浏览器却没有?

为什么我的 Java 程序从 Google 搜索中收到 403 禁止错误,而我的浏览器却没有?

Patricia Arquette
发布: 2024-12-12 13:54:11
原创
367 人浏览过

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

Java 会遇到 403 Forbidden,但 Web 浏览器不会遇到

当尝试使用 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. 示例代码: 提供的代码演示了完整的过程,从而得出正确的数字结果。

以上是为什么我的 Java 程序从 Google 搜索中收到 403 禁止错误,而我的浏览器却没有?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板