当前位置: 首页 > news >正文

HttpServletResponse设置headers返回,发现headers中缺少“Content-Length“和“Content-Type“两个参数。

业务中需要将用httpUtils请求返回的headers全部返回,塞到HttpServletResponse中,代码如下:

HttpServletResponse response;// 返回headers
Arrays.stream(httpResponse.getHeaders()).forEach(header -> response.setHeader(header.getName(), header.getValue()));

一、发现问题:

塞到HttpServletResponse中之后,发现headers中缺少"Content-Length"和"Content-Type"两个参数。

使用http直接请求,和使用本项目代理请求对比,发现最后headers中缺少"Content-Length"和"Content-Type"。

二、查找问题

看源码发现遇到这两个特殊字段时,分别赛到了setContentTypesetContentLength

三、解决问题

所以需要再遍历时候重新赛回去

for (Header header : httpResponse.getHeaders()) {if ("Content-Type".equalsIgnoreCase(header.getName())) {response.setContentType(header.getValue());} else if ("Content-Length".equalsIgnoreCase(header.getName())) {response.setContentLength(Integer.valueOf(header.getValue()));} else {response.setHeader(header.getName(), header.getValue());}
}

http://www.lryc.cn/news/388940.html

相关文章:

  • GraphPad Prism生物医学数据分析软件下载安装 GraphPad Prism轻松绘制各种图表
  • 7/1 uart
  • zdppy_api+vue3+antd开发前后端分离的预加载卡片实战案例
  • 别小看手机导航,这些隐藏功能大部分人可能都不知道
  • Lua实现链表(面向对象应用)
  • 每隔一个小时gc一次的问题
  • VBA数据库解决方案第十二讲:如何判断数据库中数据表是否存在
  • 五、Spring IoCDI ★ ✔
  • 计算机网络八股文
  • 科普文:一文搞懂jvm原理(四)运行时数据区
  • 《昇思25天学习打卡营第5天|数据变换 Transforms》
  • 详细分析Oracle修改默认的时间格式(四种方式)
  • 以 Vue 3 项目为例,你是否经常遇到 import 语句顺序混乱的问题?要想解决它其实很容易!
  • mysql数据库ibdata文件被误删后恢复数据的方法
  • eBPF技术揭秘:DeepFlow如何引领故障排查,提升运维效率
  • C++视觉开发 三.缺陷检测
  • 使用 Amazon Bedrock Converse API 简化大语言模型交互
  • 第二十一章 函数(Python)
  • 使用pyqt5编写一个七彩时钟
  • 【Linux】:命令行参数
  • 高考假期预习指南,送给迷茫的你
  • 独孤思维:负债了,还可以翻身吗
  • SwiftUI八与UIKIT交互
  • RedHat9 | 内部YUM本地源服务器搭建
  • 无偏归一化自适应心电ECG信号降噪方法(MATLAB)
  • AI基本概念(人工智能、机器学习、深度学习)
  • LabVIEW幅频特性测试系统
  • 校园卡手机卡怎么注销?
  • logback自定义规则脱敏
  • 高效批量复制与覆盖:一键实现文件管理,轻松应对同名文件,简化工作流程