Java Http请求,HttpURLConnection HTTP请求丢失头信息,Head信息丢失解决方案

JSON 2024-12-17 19:02:07 3725

先说下背景,我昨天晚上一个解决一个 Http模拟请求 问题弄到了凌晨,最终发现这个问题提诡异的,origin头信息丢失了。

一、Head信息丢失,origin丢失原因

通过查询资料,发现  Java  底层(HttpURLConnection)认为origin是涉及到跨域问题,直接增加会有安全问题,所以你在我们设置请求头的过程中是会自动去掉的。

// 打开和URL之间的连接
conn = (HttpURLConnection) realUrl.openConnection();
// 设置 origin 头信息,大小写无差异
conn.setRequestProperty("origin","https://www.sojson.com");

这样直接设置是无效的。他在请求的时候最终会把origin删除。好比上面的图片一样,命名是有的。

为了测试增加头信息,如下面的代码:

// 打开和URL之间的连接
conn = (HttpURLConnection) realUrl.openConnection();
// 设置 origin 头信息,大小写无差异
conn.setRequestProperty("origin1","https://www.sojson.com");

origin1 不会消失。证明只会去掉origin信息

二、origin信息丢失解决办法

其实很简单,设置下允许头信息allowRestrictedHeaderstrue代码如下。

//解决 请求头丢失的问题(origin)
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
// 打开和URL之间的连接
conn = (HttpURLConnection) realUrl.openConnection();

这样就解决了。

这个问题用OKhttp是不会有的。一个隐藏的坑解决了,

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/534.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Http Get 请求Java 请求工具类封装
Java获取浏览器请求(User-Agent),分析浏览器信息,系统信息的几种办法。
JavaHTTP请求乱码解决,GZIP 返回值乱码解决
CDN 请求返回 connection reset by peer,被拦截请求解决方案
Springboot HTTP请求,Springboot HTTP 请求 Demo。Get/Post
Java爬虫,Jsoup 爬取大众点评、美团商家信息电话号码解决方案
在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具【更新说明】
Springboot HTTP Get/Post 请求讲解,Springboot几行代码完成Http请求
Java 实现在线HTTP接口测试 - HTTP GET/POST模拟请求测试工具
HttpClient 获取详细的信息
最新文章
SOJSON V6 JavaScript 解密技巧与分析 24
微信客服人工电话95068:如何快速解封微信账号(2025最新指南) 311
Java Http请求,HttpURLConnection HTTP请求丢失头信息,Head信息丢失解决方案 3725
实用API合集分享:教你轻松获取IP地址的API合集 5471
Linux I/O重定向 6170
Ruby 循环 - while、for、until、break、redo 和 retry 3608
Node.js:全局对象 3270
如何使用终端检查Linux上的内存使用情况 3383
JavaScript对象详细剖析 2882
Python print() 函数 2995
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 695750
免费天气API,天气JSON API,不限次数获取十五天的天气预报 688812
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 677021
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 560666
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 511143
Elasticsearch教程(四) elasticsearch head 插件安装和使用 483000
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 284349
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 245672
Elasticsearch教程(一),全程直播(小白级别) 230937
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 226616
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...