javahttp頭
❶ 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裡面混,只是好久沒去了,有機會交流交流