java.io.IOException: Server returned HTTP response code: 403 for URL

2023-10-27

403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站。

引发的BUG:

java.io.IOException: Server returned HTTP response code: 403 for URL: http://img4.imgtn.bdimg.com/it/u=2718497102,228936332&fm=26&gp=0.jpg

在这里插入图片描述

主要原因分析

1.你的IP被列入黑名单
2.你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了
3.网站域名解析到了空间,但空间未绑定此域名
4.你的网页脚本文件在当前目录下没有执行权限
5.在不允许写/创建文件的目录中执行了创建/写文件操作
6.以http方式访问需要ssl连接的网址
7.浏览器不支持SSL 128时访问SSL 128的连接
8.在身份验证的过程中输入了错误的密码
9.DNS解析错误,手动更改DNS服务器地址
10.连接的用户过多,可以过后再试
11.服务器繁忙,同一IP地址发送请求过多,遭到服务器智能屏蔽
12.CC强力防护

解决方式

当你使用java程序检索其他网站上的内容时,如果其服务器设置了禁止抓取,或者其访问需要权限,

如果此时你去检索网页那么就会有异常该异常出现.

如果是服务器需要访问权限,比如说你要登录才能访问的网页,那么你抓取不了的.

如果是服务器端禁止抓取,那么这个你可以通过设置User-Agent来欺骗服务器

connection.setRequestProperty(“User-Agent”, “Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)”);

//下载器
class WebDownloader {
    //下载方法
    public void downloader(String link, String name) {
        try {
            
            URL url = new URL(link);
            url.openConnection().setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
            FileUtils.copyURLToFile(url, new File(name));
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("IO异常,downloader方法出现问题");
        }
    }

什么是User Agent呢?

User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

一些网站常常通过判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。

参考博客:https://blog.csdn.net/testcs_dn/article/details/78933044

参考博客:https://blog.csdn.net/zhaoshl_368/article/details/6603498

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.io.IOException: Server returned HTTP response code: 403 for URL 的相关文章

  • Java中的异常

    Java中的异常 1 什么是异常 2 异常的类结构 3 运行时异常的特点 4 编译时异常特点 5 对受检异常进行处理 5 1 try catch 捕获处理 5 2 finally子句处理 5 3 finally子句 5 4 throws抛出
  • java案例之制作系统

    java案例之制作系统 案例 需求 定义一个方法 可以接收中奖号码的数组 用户选号的数组 根据命中红球数和篮球数判断最终的结果并输出 分析 系统需要三部份 第一部分是 生成随机产生的7位数双色球数字 其中前6位是红球 第7位是蓝球 红球范围
  • 使用MySQL Workbench建立数据库,建立新的表,向表中添加数据

    点击上图中的 加号 图标 新建一个连接 如上图 先输入数据库的账号密码 帐号默认为root 填好密码后 点击 OK 连接就建立好了 建立完成后 会出现一个长方形的框框 双击它 出现下图所示页面 点击图中的红圈里的按钮 新建一个Schema
  • 图的深度优先遍历(递归与非递归算法)和广度优先遍历

    老师的题目 实验内容 已知某地区的公路网以图表示 图中的顶点表示站点 任意两站点间的路段以带权的边构成的邻接矩阵表示 矩阵中非零元表示两个站点间存在直接的路段 否则没有路段 打开E Test文件夹中的exp06 cpp文件 补充编写所需代码
  • html做成小程序,微信小程序——简单静态网页的制作

    一 前言 需要知识 HTML CSS 注意 微信小程序的语法与HTML和CSS不太相同 但本质是一样的 要求 进入开发者工具并且创建一个测试小程序 选择建立快速模板 在pages目录底下新建一个first的文件夹 其中包括指定的四个文件 并
  • react 组件逻辑复用

    组件逻辑复用 React为什么设计成组件化的形式 其实最大的原因就是为了方便复用 然而组件的复用虽然方便 逻辑的复用却很麻烦 因为state的存在 逻辑被锁死在组件内部 很难分离出去 下面以一个可以改变背景色的步进器为例 展示react中常
  • 复制PDF文字时去掉换行符

    问题描述 当我们在pdf上复制文字时 每行总会出现换行符 乱糟糟的 解决方法 注意 windows推荐开源软件cpoy gihub copy 临时使用 推荐网页 文字替换在线处理工具 在快捷指令中新建 快捷服务 选择执行shell脚本 写这
  • 苹果开发者ADP协议第3.2(f)节违反

    相信很多开发者都遇到过 ADP协议第3 2 f 节违反 导致账号被封 遇到这种情况基本没戏 不用再联系苹果了 基本没戏 以下是被封的邮件信息 Hello xxx This letter serves as notice of termina
  • DSP CCS 12.00运用, 产生正弦波的图像 芯片:F28335

    1 首先建立新的项目 工程 2 参数选择 3 设置数据 保证与芯片得连接 4 整理思路 信号频率 1000 HZ 采样频率 20000 HZ 采样点数 128 5 代码 头文件的定义 include stdio h include math
  • vue-aplayer在手机移动端的时候默认没有总时长,点击播放才显示总时长问题

    前言 在移动段使用vue aplayer这款音频播放组件的时候 发现他默认的时候看不到总时长 只有点击播放才能看到 我的数据是从后台直接拿来的 观察官网没有这个问题 既然出现问题就得解决问题 这里分享下我的解决办法 解决办法一 尝试过但是不
  • C语言中 char str[] 与 char *str 的关系

    首先 我们得明确 在C语言中 没有真正的字符串类型 所以 就诞生了 字符串数组 这么个类型 于是 当我们想申明一个字符串变量时 大体上有下面两种方法 char str hello char p hello str 它定义的是一个字符串数组变
  • golang-- 字典树

    一 前言 看了百度团队在 infoq 上发表的一篇 如何在秒级完成词表匹配 https xie infoq cn article 97b2df7e41456335627ce4cd4 的文章 文章业务背景介绍的很清楚 里面有提到字典树 看到结
  • __attribute__((aligned(n)))和__attribute__((packed))

    绪 attribute 是GUN C中极具特设的一大机制 可以用来设置 函数属性 Function Attribute 变量属性 Variable Attribute 类型属性 Type Attribute 这里我们主要阐述用 attrib
  • Win10禁用驱动签名,进入测试模式

    以系统管理员权限打开CMD控制台 执行 bcdedit exe set TESTSIGNING ON 点击 开始 gt 设置 打开 windows设置 对话框 在搜索框中输入 更改高级启动选项 点击 高级启动 下面的 立即重新启动 按钮 然

随机推荐

  • python中class类的可迭代实现以及迭代函数

    当定义一个普通的类时 指向类的实例默认情况下是不可迭代的 如下 In 3 from collections import Iterable In 4 class Fruit object def init self self item li
  • 【C语言】typedef struct和直接struct的区别

    例一 struct char a int b x 这里 创建了一个变量 包含两个成员 一个字符 一个整数 例二 struct STUDENT char name int age 这里 创建了一个标签 tag 为成员列表提供了一个STUDEN
  • TSNE—聚类结果可视化

    文章目录 一 TSNE参数解析 二 案例 TSNE的定位是高维数据可视化 对于聚类来说 输入的特征维数是高维的 大于三维 一般难以直接以原特征对聚类结果进行展示 而TSNE提供了一种有效的数据降维模式 是一种非线性降维算法 让我们可以在2维
  • 机器学习之二分类模型评价指标

    机器学习之二分类模型评价指标 一 二分类模型衡量指标 1 1 混淆矩阵 Confusion matrix 1 1 1 原理 1 1 2 实现 1 2 精确度 Accuracy 1 2 1 原理 1 2 2 实现 1 3 准确率 Precis
  • c++中标识符常量表示方法

    什么是标识符常量 标识符常量又称符号常量 它是指用一个符号来代替一个数值 我们为什么要用它 对于一个在程序中常常出现的数值 我们可以定义一个符号来表示它 好处是修改方便 代码可读性高 例如 在程序中用到了常数 pi 如果每次都写 3 141
  • Java 发送http GET/POST请求

    摘要 HttpURLConnection是一种多用途 轻量极的HTTP客户端 使用它来进行HTTP操作可以适用于大多数的应用程序 HttpURLConnection是Java的标准类 它继承自URLConnection 可用于向指定网站发送
  • 获取逻辑回归LogisticRegression模型的重要特征

    获取逻辑回归LogisticRegression模型的重要特征 模型训练之后 想要得到比较重要的特征 可以通过python的sklearn包来实现 python实现代码如下所示 LogisticRegression py coding ut
  • XeLaTex 下运行 InkScape 帮助文档的 includesvg 命令出现 undefined control sequence 错误

    解决办法 添加下图的第 5 行 引入 pdftexcmds 包即可 2022年5月5日补充 使用 xelatex 来编译后 发现不能自动更新矢量图 才知道是什么原因 第8和第9行的 pdffilemoddate 不能用 具体为什么我也不知道
  • Jmeter系列-环境部署、详细介绍、安装目录介绍(1)

    环境部署 官网下载Jmeter http jmeter apache org 下载最新版本的 JMeter 解压文件到任意目录 安装JDK 配置Java环境 1 下载 注意选择操作系统对应的位数32 64 官网 http www oracl
  • Spring Boot入门系列(二十一)如何优雅的设计 Restful API 接口版本号,实现 API 版本控制!...

    前面介绍了Spring Boot 如何快速实现Restful api 接口 并以人员信息为例 设计了一套操作人员信息的接口 不清楚的可以看之前的文章 https www cnblogs com zhangweizhong category
  • 服务器主板能配固态硬盘吗,主板没有M.2接口能使用M.2固态硬盘吗【使用方法】...

    固态硬盘与主板接口都是必须想配对的 那么主板没有M 2接口可以使用M 2固态硬盘吗 主板都没有M 2接口是不可以安装M 2固态硬盘的 接口都没怎么装 这还用吗 主板没有M 2接口还可以使用M 2固态硬盘吗 其实对于一些入门主板或者一些较旧的
  • 【Twinkle】软件工程师的职业路线

    社区中并不缺少有关软件工程师职业发展的文章 甚至可以说是泛滥 很多人都能在这个话题上说两句 三五年工作经验的编程老鸟也好 架构师也好 技术 VP 也好 CTO 也好 都有各自的看法与实践经验 没有哪一套方法是适用于所有人的 这一套软件工程师
  • C++:map和unordered_map, set和unordered_set的对比

    一 map map内部实现了一个 红黑树 红黑树是非严格平衡二叉搜索树 而AVL是严格平衡二叉搜索树 红黑树具有自动排序的功能 因此map内部的所有元素都是有序的 map中的元素是按照二叉搜索树 特点是 左 lt 根 lt 右 存储的 使用
  • AES前后端,加密\解密实例

    1 后端代码 package cn com test import org apache commons codec binary Base64 import org apache commons lang3 StringUtils imp
  • Python后端 ---day1

    1 查看Django版本 python3 m django version 2 创建项目 django admin startproject dhsys 3 运行项目 依次运行指令后 浏览器打开即可 python3 manage py mi
  • 【前端vue2面试题】2023前端最新版vue2模块,高频24问

    博 主 初映CY的前说 前端领域 个人信条 想要变成得到 中间还有做到 本文核心 博主收集的关于vue2面试题 目录 vue2面试题 1 route 和 router的区别 2 一个 vue文件由几部分组成 分别什么含义 3 scoped作
  • 解决win7下安装时Microsoft Visual C++ 6.0(VC60)出现未响应

    本人win7系统 今天晚上打开VC先code的时候 发现编译链接都正常 一运行就出错 免得麻烦 于是选择了重装 结果 安装过程中 进度条还没开始就出现未响应 怎么装都装不上 郁闷啊 费了好大口气才装上 VC6 0和win7的兼容性不好 很多
  • 已知ip地址求子网掩码

    子网掩码为32个二进制数 格式为点分十进制 32个位以点分为4段8位二进制数 总共32位 二进制 11111111 111111111 11111111 11111111 十进制 255 255 255 255 二进制 1111111 11
  • ctfshow sql235-236_updata_ban-infomation表_无列名注入

    updata ban infomation表 无列名注入 updata 过滤了引号 用反斜杠 注释掉password 后面的引号 那么username就能为我们控制 有用字符串的地方可以用 16 进制表示 ban infomation表 很
  • java.io.IOException: Server returned HTTP response code: 403 for URL

    403 Forbidden 是HTTP协议中的一个状态码 Status Code 可以简单的理解为没有权限访问此站 引发的BUG java io IOException Server returned HTTP response code