Java HttpURLConnection setRequestProperty(“content-length“, “0“)不起作用

Java HttpURLConnection setRequestProperty(“content-length“, “0“)不起作用Post验证Url合法的时候,今天突然遇到一个用IIS的客户,结果返回411的statuscode.搜索原因是请求头中没有设置Content-Lenght。网上的教程说用setRequestProperty(“content-length”,“0”)设置一下,结果我测试还是返回411.调试发现:为了安全,这些头默认是不允许指自定义的。可以通过下面方法打开,尽量将下面的语句放到main中:System.setProperty(“sun.net.http.allowRestrictedHead

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Post验证Url合法的时候,今天突然遇到一个用IIS的客户,结果返回411的status code. 搜索原因是请求头中没有设置Content-Lenght。 网上的教程说用 setRequestProperty(“content-length”, “0”)设置一下,结果我测试还是返回411.
调试发现:为了安全,这些头默认是不允许指自定义的。
可以通过下面方法打开,尽量将下面的语句放到main中:

System.setProperty("sun.net.http.allowRestrictedHeaders", "true");

当然你也可以加上Post内容, 这样就会自动填充Content-Lenght

con.setDoOutput(true);
OutputStream os = con.getOutputStream();
os.write("{}".getBytes("UTF-8"));
os.close();

这下就OK了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197841.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月26日 下午11:22
下一篇 2025年8月27日 上午7:01


相关推荐

  • $.extend()详解

    $.extend()详解JQuery 的 extend 扩展方法 Jquery 的扩展方法 extend 是我们在写插件的过程中常用的方法 该方法有一些重载原型 在此 我们一起去了解了解 一 Jquery 的扩展方法原型是 extend dest src1 src2 src3 它的含义是将 src1 src2 src3 合并到 dest 中 返回值为合并

    2026年3月18日
    1
  • SpringBoot重点详解–@Conditional注解

    SpringBoot重点详解–@Conditional注解目录 Conditional 注解自定义 ConditionalS 扩展注解在上一章 SpringBoot 重点详解配置文件 中曾简单介绍过如何利用 Profile 注解来根据指定 profile 是否被激活动态地决定是否要创建某一个 Bean 在这一章 我们将介绍另一种根据条件来装配 Bean 的新方法 使用 Conditional 注解 根据是否满足

    2025年10月14日
    10
  • 1. onboard –install-daemon vs gateway start 有什麼不同?

    1. onboard –install-daemon vs gateway start 有什麼不同?

    2026年3月13日
    3
  • flex socket java,Flex的socket与java使用amf3进行通信

    flex socket java,Flex的socket与java使用amf3进行通信amf3 adobe 创立的数据格式由于使用二进制 没有了 xml 等冗余的字符数据量会少很多 而且很多测试报告均测出 amf 传递效果很高 这次是使用 Flex 的 Socket 类与 java 的服务端进行通信 步骤是 客户端用 socket 类连接 java 服务器 使用查询字符串进行请求 java 将数据封装为 hashmap 最后将 hashmap 用 amfoutputstr 输出至 flex 的客户端 flex 对数据进行解码

    2026年3月26日
    2
  • CentOS7中添加环境变量后立即生效,但是重启服务器又失效「建议收藏」

    CentOS7中添加环境变量后立即生效,但是重启服务器又失效

    2022年2月16日
    183
  • ARM架构与x86架构的区别

    ARM架构与x86架构的区别一 什么是 ARM 架构 ARM 架构过去称作进阶精简指令集机器 AdvancedRISC 更早称作 AcornRISCMac 是一个 32 位精简指令集 RISC 处理器架构 其广泛地使用在许多嵌入式系统设计 由于节能的特点 ARM 处理器非常适用于移动通讯领域 符合其主要设计目标为低耗电的特性 在今日 ARM 家族占了所有 32 位嵌入式处理器 75 的比例 使它成为占全世界

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号