java能不能修改http头信息如何修改

当然可以在<head></head>里面修改 浏览器标题栏的信息以及相关的js/css链接
如果想换浏览器头标我可以教你

❷ java中如何设置HTTP协议的头信息(header)

首先,我们先看一下http的头信息到底是什么:
HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议。HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应。就整个网络资源传输而 言,包括message-header和message-body两部分。首先传递message- header,即http header消息。http header 消息通常被分为4个部分: general header, request header, response header, entity header。但是这种分法就理解而言,感觉界限不太明确,根据日常使用,大体分为Request和Response两部分。
在通常的servlet/jsp应用中,我们只是从http的header中取得信息,如果要设置信息,需要用到HttpClient,具体的设置方法如下:
HttpResponse response = null;
HttpGet get = new HttpGet(url);
get.addHeader("Accept", "text/html");
get.addHeader("Accept-Charset", "utf-8");
get.addHeader("Accept-Encoding", "gzip");
get.addHeader("Accept-Language", "en-US,en");
get.addHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22");
response = client.execute(get);
HttpEntity entity = response.getEntity();
Header header = entity.getContentEncoding();
if (header != null)
{
HeaderElement[] codecs = header.getElements();
for (int i = 0; i < codecs.length; i++)
{
if (codecs[i].getName().equalsIgnoreCase("gzip"))
{
response.setEntity(new GzipDecompressingEntity(entity));
}
}
}
return response;
其中,client为一个HttpClient的实力,创建方式如:
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
schemeRegistry.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));
cm = new (schemeRegistry);
cm.setMaxTotal(200);
cm.setDefaultMaxPerRoute(2);
HttpHost googleResearch = new HttpHost("research.google.com", 80);
HttpHost wikipediaEn = new HttpHost("en.wikipedia.org", 80);
cm.setMaxPerRoute(new HttpRoute(googleResearch), 30);
cm.setMaxPerRoute(new HttpRoute(wikipediaEn), 50);
DefaultHttpClient client = new DefaultHttpClient(cm);

❸ java写的发送http头的程序

看得我很是纠结
你这是socket连接还是http连接呀?
建议使用httpClient

❹ javaweb什么是请求头和相应头

http://www.blogjava.net/stevenjohn/archive/2012/09/26/388603.html上面介绍的很详细,看能不能帮到你。

❺ Http数据头问题,java中自己编写http服务器,发送文件的数据头要用content-leng

是不是数据类型对应?content-length我不知道没用过,但是file的length方法返回的是byte的long类型,,,

❻ java的http连接中怎样去掉头信息

不写就是了呗,你初始化了一个链接对象,然后通过这个对象设置头,你不设置就可以了啊,但是可能由于网站的要求,你不按它的要求发请求头的话,可能会得不到想要的信息

❼ java网络编程:Http头的写法

socket?
可否考虑用HttpClient

❽ 为什么java需要Http响应头等信息

那是服务器和客户端之前传递信息的协议

❾ java 怎么手动编写http请求头

实现思路就是先定义请求头内容,之后进行请求头设置。

  • 定义请求头

LinkedHashMap<String,String> headers = new LinkedHashMap<String,String>();

headers.put("Content-type","text/xml");

headers.put("Cache-Control", "no-cache");

headers.put("Connection", "close");

  • 给HttpPost 设置请求头

HttpPost httpPost = new HttpPost("http://localhost:8080/root");

if (headers != null) {

for (String key : headers.keySet()) {

httpPost.setHeader(key, headers.get(key));

}

}

备注:只需要在map中设置相应的请求头内容即可。根据实际需要修改即可

❿ 求java socket请求http的报文头格式!!!

手中不是自己的电脑 没环境调试不了 不过我找了下面的内容 你看有帮助没:

最近,需要编写一个工具模拟HTTP Client, 登录到一个Server并且要添加一些数据。出现的问题是:login可以成功,但是,添加数据时,总是报错如下:

HTTP/1.1 505 HTTP Version Not Supported
Server: Apache-Coyote/1.1
Date: Wed, 26 Aug 2009 03:20:19 GMT
Connection: close

根据错误的提示,应该是HTTP版本不一致,可是,第一次login都成功了,说明版本应该没有问题呀。

找了好多资料,都说版本有问题。

最后,终于找到最终的原因了,HTTP写的格式是非常严谨的,只要格式不匹配,就会报错误。

我在HTTP的头中添加一个空格:

HTTP/1.1[空格在此]
Accept: */*
Accept-Language: zh-cn
Host: 10.224.54.126:8080
Cookie: F5_CREDENTIAL=L7a
Connection: Keep-Alive

在提交请求,连login都不可以了,而且报的错误是:HTTP/1.1 505 HTTP Version Not Supported
从此可以推断出,我的添加数据的消息中可能某个地方多了一个空格。
经过仔细的查找,果然,找到了几个空格,用%20替代之,问题解决了。

另:我也在javaeye里面混,只是好久没去了,有机会交流交流