Java中具有相同名称的多个响应头
在Java中,如果HttpURLConnection上的多个响应头具有相同的名称,是否可以查看它们 它在报告中指出: 如果在多次设置相同标头的连接上调用 对于可能不同的值,只返回最后一个值 我的问题是,如何查看多次设置的标题的所有不同值 在Linux上,您可以使用netcat创建一个简单的单请求服务器进行测试Java中具有相同名称的多个响应头,java,httpurlconnection,Java,Httpurlconnection,在Java中,如果HttpURLConnection上的多个响应头具有相同的名称,是否可以查看它们 它在报告中指出: 如果在多次设置相同标头的连接上调用 对于可能不同的值,只返回最后一个值 我的问题是,如何查看多次设置的标题的所有不同值 在Linux上,您可以使用netcat创建一个简单的单请求服务器进行测试 $ echo -e 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nX-Funky-Header: value1\r\nX-Funky-He
$ echo -e 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nX-Funky-Header: value1\r\nX-Funky-Header: value2\r\n\r\nContent' | nc -l 8888 &
不确定,但您可以尝试使用URLConnection以外的其他选项吗?就像我尝试过的那样,如果在Linux上用java 1.6.0_13设置同一个头,似乎仍然无法获得多个值,这很有魅力。您确定服务器正在发送多个标头吗。
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
public class UrlConnectionTest {
public static void main (String[] args) throws IOException {
URL url = new URL("http://localhost:8888/");
URLConnection conn = url.openConnection();
conn.getContent(); // Force request
System.out.println(conn.getHeaderFields().get("X-Funky-Header"));
}
}
$ echo -e 'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nX-Funky-Header: value1\r\nX-Funky-Header: value2\r\n\r\nContent' | nc -l 8888 &