修改Http消息的消息头Host

本文介绍了在使用HttpURLConnection和HttpClient类发送HTTP请求时修改Host值的方法。对于HttpURLConnection,需要先设置系统属性允许修改受限头部信息;对于HttpClient,可以通过设置虚拟主机参数来实现。

在 HttpURLConnection 类中直接使用如下代码无法修改Host的值:

connection.setRequestProperty("Host", host);

需要在之前设置系统属性后才真正更改成功:

// 设置可以修改HOST值
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");

在HttpClient类中使用GetMethod或PostMethod发送Http时也会遇到不能修改Host值的情况:

method.setRequestHeader("Host","a.xxxx.com")

而用另一种方法可以成功:

method.getParams().setVirtualHost("a.xxxx.com");

 

转载于:https://www.cnblogs.com/fengdeng/p/5807501.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值