栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

获取原始HTTP响应标头

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

获取原始HTTP响应标头

getHeaderField()
方法对我不起作用

您是在的情况下问这个的

java.net.URLConnection
吗?不可以,无法使用原始HTTP响应标头
URLconnection
。您需要退回到低级的Socket编程。这是一个SSCCE,只需复制“
粘贴 ”即可运行它。

package com.stackoverflow.q2307291;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.Socket;public class Test {    public static void main(String[] args) throws IOException {        String hostname = "stackoverflow.com";        int port = 80;        Socket socket = null;        PrintWriter writer = null;        BufferedReader reader = null;        try { socket = new Socket(hostname, port); writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream())); writer.println("GET / HTTP/1.1"); writer.println("Host: " + hostname); writer.println("Accept: */*"); writer.println("User-Agent: Java"); // Be honest. writer.println(""); // important, else the server will expect that there's more into the request. writer.flush(); reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); for (String line; (line = reader.readLine()) != null;) {     if (line.isEmpty()) break; // Stop when headers are completed. We're not interested in all the HTML.     System.out.println(line); }        } finally { if (reader != null) try { reader.close(); } catch (IOException logOrIgnore) {}  if (writer != null) { writer.close(); } if (socket != null) try { socket.close(); } catch (IOException logOrIgnore) {}         }    }}

为了避免每个尝试此代码片段的人都使SO过载,输出如下所示:

HTTP / 1.1 200 OK缓存控制:私有内容类型:text / html; 字符集= utf-8过期:2010年2月21日,星期日,格林尼治标准时间伺服器:Microsoft-IIS / 7.5日期:2010年2月21日,星期日,格林尼治标准时间连接方式:关闭内容长度:208969

要了解有关以低级方式发送HTTP请求的更多信息,请阅读HTTP规范。

但是,您可能想使用

getHeaderFields()
method来检索具有多个值的标头。该
getHeaderField()
即只返回最后一个值,按照链接的API文档。

List<String> cookies = connection.getHeaderFields().get("Set-cookie");


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/496620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号