首页
学习
活动
专区
圈层
工具
发布

java 用httpclient访问https时经常返回403的原因

先听一首歌吧 今天使用了一些httpclient包进行https网页数据的访问,但是一直返回403的问题,一开始以为网站做了限制为了防止爬虫,后来就加入了头部user-Agent来模拟浏览器,结果还是不行...紧接着又加入了cookie,结果仍然返回403。直到下午去github上看到了一个二次封装httpclient的util工具。下载下来放到了idea里访问了一下https的这个url结果成功了。...Indication),虚拟主机大力发展起来,造成了一个IP会对应多个域名的情况,SNI就是专门用于解决这个问题,它允许客户端在发起SSL握手请求时,就提交请求的Host信息,使得服务器能够切换到正确的域并返回相应的证书...在java客户端上,SNI要求JDK至少到 ,HttpClient至少到4.3.2,本地测试环境满足该要求,而线上环境JDK是1.6的所以会有问题。...升级运行环境到满足SNI的要求 2,选择忽略hostname校验 可以创建X509HostnameVerifier,重载verify(String hostname, SSLSession session)方法返回

3.9K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java 获取url返回结果中的Cookie

    欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199 获取URL返回结果中的Cookie是一个常见的需求,可以通过Java中的URLConnection类来实现。...下面是一个示例代码,可以将URL返回结果中的Cookie写入到一个文件中。...import java.io.*; import java.net.*; public class CookieExtractor { public static void main(String...通过设置请求方法为GET,可以发送GET请求到指定的URL。使用getHeaderField方法可以获取返回结果中的Cookie。最后,通过FileWriter将Cookie写入到文件中。...在运行代码之前,需要确保可以访问到指定的URL,并且返回结果中包含Cookie。运行代码后,会在当前目录下生成一个名为cookie.txt的文件,其中包含了返回结果中的Cookie。 希望对你有帮助!

    28010

    从输入url到页面返回到底发生了什么

    检查本地的host文件,如果有对应的IP地址,依然选择直接返回给浏览器;否则,进入第3步。...如果记录老化或不存在,则DNS服务器向根域名服务器发送查询报文"query news.cnblogs.com",根域名服务器返回.com域的权威域名服务器地址,这一级首先会返回的是顶级域名的权威域名服务器...DNS进程将查询返回的IP地址 114.55.49.182 存入自身缓存并返回给浏览器。 2....比如说假如我们发起了一个POST请求,第一次传输的报文中含有1000个字节的信息,服务端在接收到之后那么就将ACK标为1001,表示确认收到并返回给客户端(没有任何数据,只是一个IP+TCP而已),这样客户端可以安心传输第二波从...从图上也可以很直观的看出,本次通信总共用了3+2*2(双向通信)+4=11个IP包。 3. 参考资料 计算机是如何聊天的?

    1K80

    java直接读取.zip压缩文件ZipEntry.getsize()总是返回-1?

    今天在项目中遇到一个问题,有一个需求是需要验证下载的ZIP文件,解压读取ZIP文件夹内部的文件,文件名称以及大小。 网上搜了下,发现,不用解压可以直接读取,代码如下: ?...但是后面发现一个问题,读取的时候总是返回-1 ze.getSize()的值总是-1,可是名字都到了。...通常用 Enumeration 中的以下两个方法打印向量中的所有元素: (1) boolean hasMoreElements(); // 是否还有元素,如果返回 true ,则表示至少含有一个元素...(2) public Object nextElement(); // 如果 Enumeration 枚举对象还含有元素,该方法返回对象中的下一个元素。...总结:遇到问题,换个解决思路,多从互联网搜索可用信息; 相信同事和朋友,实在不行张开嘴巴问一问,或许同事遇到过,不一定要继续填坑,或者再造轮子;即便没遇到过换一个人的思考方式将会是解决问题的方法。

    3.3K30

    阿里面试:“说一下从 url 输入到返回请求的过程”

    问题: 从浏览器地址栏输入url到请求返回发生了什么 你一看这种烂掉牙的问题,小case,但996面试大佬由此延展的问题已经远远超越了这个问题本身了,不信你就接着看。...我回答了首先会进行 url 解析,根据 dns 系统进行 ip 查找。 话音刚落,此时一位喜欢修福报的公司的大佬打断了我,说url为啥要解析,dns查询规则是什么?...url到请求返回发生了什么?...200时的时间差,如果没有超过max-age,命中强缓存,不发请求直接从本地缓存读取该文件(这里需要注意,如果没有cache-control,会取expires的值,来对比是否过期),过期的话会进入下一个阶段...我说强缓存会触发,这两种,具体什么行为不知道,大概内容如下: 1、先查找内存,如果内存中存在,从内存中加载; 2、如果内存中未查找到,选择硬盘获取,如果硬盘中有,从硬盘中加载; 3、如果硬盘中未查找到,

    84020

    命令行上的数据科学第二版 三、获取数据

    [1913 Webster] . … with 2 more lines 然而,当从互联网下载数据时,协议很可能是 HTTP,因此 URL 将以http://或https://开头。...你还可以看到该 URL 重定向到的位置。如果curl没有给你预期的结果,检查标题并获得状态码是一个有用的调试工具。其他常见的 HTTP 状态代码包括 404(未找到)和 403(禁止)。...Martin 虚构的世界的信息,而《权力的游戏》一书和电视剧就发生在这个虚构世界中,它以下面的 JSON 结构返回数据: $ curl -s "https://anapioficeandfire.com.../api/characters/583" | jq '.' { "url": "https://anapioficeandfire.com/api/characters/583", "name"...但是我想对自己的 API 密匙保密,所以我通过读取文件的方式将信息插入进去。 $ curl -s "http://newsapi.org/v2/everything?

    2.9K40

    【说站】Java从resources读取文件内容的方法有哪些

    本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构 ├── main│ ├── java│ │ └── com│ │  └── test│ │   └── core...│ │    ├── bean│ │     ├── Test.java│ └── resources│  └── test│   ├── test.txt└── test └── java 我们希望在...Test.java中读取test.txt文件中的内容,那么我们可以借助Guava库的Resource类 示例代码如下 public class TestDemo { public static void... url = loader.getResource(resourceName); checkArgument(url !...读取resource目录下文件的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    1.8K30

    【从0做项目】Java音缘心动(2)———登录、统一返回设计

    Music { private int id; private String title; private String singer; private String url...注意:这个接口中同一结果返回已经包含了序列化,所以我们要对String类型单独做处理,避免统一结果返回的时候双重序列化!!...②beforeBodyWrite() 在返回响应体之前对数据进行处理。...这里主要是类型的判定 这里,我想尝试自己去模拟ResponseAdvice设计一个类,用作统一结果返回 2:自己设计统一结果响应类 女少!...加上@ResponseBody,就是告诉Spring我要直接将对象写入请求体当中,不要视图解析器解析我 简记:一个返回视图,一个返回具体数值 其它几个依赖注入,路由映射,参数绑定就不多bb了~~ 2

    17000

    java之通过Http下载文件

    最近有个项目需要通过文件链接下载文件到本地 所以我写了个小demo去实现通过文件链接下载到本地文件夹里主要运用到了 java的net包和io包具体实现思路是 通过文件链接来new一个URL对象ini 体验...然后得到一个文件的输入流java 体验AI代码助手 代码解读复制代码 //设置超时间为3秒 conn.setConnectTimeout(3 * 1000);...//防止屏蔽程序抓取而返回403错误 conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows...NT; DigExt)"); //得到输入流 InputStream inputStream = conn.getInputStream();然后通过一个读取输入流的方法给转换成我们需要的文件字节数组...//设置超时间为3秒 conn.setConnectTimeout(3 * 1000); //防止屏蔽程序抓取而返回403错误 conn.setRequestProperty

    36310

    总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇

    在上一篇文章中,我为大家介绍了《5种创建文件并写入文件数据的方法》,本节我们为大家来介绍6种从文件中读取数据的方法....另外为了方便大家理解,我为这一篇文章录制了对应的视频:总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 Scanner(Java 1.5) 按行读数据及String、Int类型等按分隔符读数据...Files.lines, 返回Stream(Java 流式数据处理,按行读取 Files.readAllLines, 返回List(Java Files.readString, 读取...1.Scanner 第一种方式是Scanner,从JDK1.5开始提供的API,特点是可以按行读取、按分割符去读取文件数据,既可以读取String类型,也可以读取Int类型、Long类型等基础数据类型的数据..._8); lines.forEach(System.out::println); } 4.Files.readString(JDK 11) 从 java11开始,为我们提供了一次性读取一个文件的方法

    4.3K12

    网络请求 403 :未通过浏览器 TLS JA3 指纹的验证

    未通过浏览器 TLS/JA3 指纹的验证在一次使用 python requests库 访问某个地址时,返回了 403 错误,起初以为是 IP 被加入了黑名单,但经过测试后发现,切换 IP 后仍然返回 403...“403 Forbidden”错误。...造成 403 可能的原因未授权的第三方访问某些API和资源可能要求特定的API密钥或认证令牌,如果未提供或提供错误,则会返回403错误。目录浏览被禁用服务器配置禁止了目录浏览。...如果请求的URL指向一个目录而不是具体文件,并且目录浏览被禁用,也会返回403错误。黑名单和白名单设置服务器可能使用黑名单或白名单来控制访问。请求的来源可能在黑名单上,因此被拒绝访问。...我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。

    81620
    领券