精华内容
下载资源
问答
  • import java.io.IOException; import java.net.URL; import java.net.URLConnection; import java.util.Map; import java.util.Set; public class CheckHttpResposneHeaders { public static void main...
  • java获取URL响应头

    千次阅读 2017-06-19 08:57:47
    import java.io.IOException; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; import java.util.Set;public class Test{ public static void main(String[]
    import java.io.IOException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    public class Test{
        public static void main(String[] args) throws IOException{
            URL url = new URL("http://www.baidu.com");
            URLConnection conn = url.openConnection();
    
            Map<String, List<String>> headers = conn.getHeaderFields();
            Set<String> keys = headers.keySet();
            for( String key : keys ){
                String val = conn.getHeaderField(key);
                System.out.println(key+"    "+val);
            }
        }
    }

    运行结果为:

    Accept-Ranges    bytes
    null    HTTP/1.1 200 OK
    Cache-Control    private, no-cache, no-store, proxy-revalidate, no-transform
    Server    bfe/1.0.8.18
    ETag    "588604e2-94d"
    Connection    Keep-Alive
    Set-Cookie    BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    Pragma    no-cache
    Last-Modified    Mon, 23 Jan 2017 13:28:02 GMT
    Content-Length    2381
    Date    Mon, 19 Jun 2017 00:56:33 GMT
    Content-Type    text/html
    

    end

    展开全文
  • 如何在Java获取HTTP响应标头

    千次阅读 2020-05-25 11:42:04
    本示例说明如何获取Java中的Http响应标头值。 1.标准JDK示例。 URL obj = new URL("http://mkyong.com"); URLConnection conn = obj.openConnection(); //get all headers Map<String, List<String&...

    本示例说明如何获取Java中的Http响应标头值。

    1.标准JDK示例。

    URL obj = new URL("http://mkyong.com");
    	URLConnection conn = obj.openConnection();
    	
    	//get all headers
    	Map<String, List<String>> map = conn.getHeaderFields();
    	for (Map.Entry<String, List<String>> entry : map.entrySet()) {
    		System.out.println("Key : " + entry.getKey() + 
                     " ,Value : " + entry.getValue());
    	}
    	
    	//get header by 'key'
    	String server = conn.getHeaderField("Server");

    2. Apache HttpClient示例。

    HttpClient client = HttpClientBuilder.create().build();
    	HttpGet request = new HttpGet("http://mkyong.com");
    	HttpResponse response = client.execute(request);
    	
    	//get all headers		
    	Header[] headers = response.getAllHeaders();
    	for (Header header : headers) {
    		System.out.println("Key : " + header.getName() 
    		      + " ,Value : " + header.getValue());
    	}
    
    	//get header by 'key'
    	String server = response.getFirstHeader("Server").getValue();

    1. URLConnection示例

    查看完整的示例,以通过URLConnection获取响应头的值。

    ResponseHeaderUtil.java
    package com.mkyong;
    
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;
    
    public class ResponseHeaderUtil {
    
      public static void main(String[] args) {
    
        try {
    
    	URL obj = new URL("http://mkyong.com");
    	URLConnection conn = obj.openConnection();
    	Map<String, List<String>> map = conn.getHeaderFields();
    
    	System.out.println("Printing Response Header...\n");
    
    	for (Map.Entry<String, List<String>> entry : map.entrySet()) {
    		System.out.println("Key : " + entry.getKey() 
                               + " ,Value : " + entry.getValue());
    	}
    
    	System.out.println("\nGet Response Header By Key ...\n");
    	String server = conn.getHeaderField("Server");
    
    	if (server == null) {
    		System.out.println("Key 'Server' is not found!");
    	} else {
    		System.out.println("Server - " + server);
    	}
    
    	System.out.println("\n Done");
    
        } catch (Exception e) {
    	e.printStackTrace();
        }
    
      }
    }

    输出量

    Printing Response Header...
    
    Key : null ,Value : [HTTP/1.1 200 OK]
    Key : ETag ,Value : ["713cd-9b82-4dd6d789447c0"]
    Key : Content-Length ,Value : [39810]
    Key : Expires ,Value : [Fri, 24 May 2013 03:22:31 GMT]
    Key : Last-Modified ,Value : [Fri, 24 May 2013 02:22:31 GMT]
    Key : Connection ,Value : [Keep-Alive]
    Key : X-Powered-By ,Value : [W3 Total Cache/0.9.2.9]
    Key : Server ,Value : [Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635]
    Key : Pragma ,Value : [public]
    Key : Cache-Control ,Value : [public]
    Key : Date ,Value : [Fri, 24 May 2013 02:22:37 GMT]
    Key : Vary ,Value : [Accept-Encoding,Cookie]
    Key : Keep-Alive ,Value : [timeout=2, max=100]
    Key : Content-Type ,Value : [text/html]
    Key : Accept-Ranges ,Value : [bytes]
    
    Get Response Header By Key ...
    
    Server - Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
    
    Done

    2. Apache HttpClient示例

    这是一个等效的示例,但使用的是Apache HttpClient。

    ResponseHeaderUtil.java
    package com.mkyong;
    
    import org.apache.http.Header;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.HttpClientBuilder;
    
    public class ResponseHeaderUtil {
    
      public static void main(String[] args) {
    
        try {
    
    	HttpClient client = HttpClientBuilder.create().build();
    	HttpGet request = new HttpGet("http://mkyong.com");
    	HttpResponse response = client.execute(request);
    			
    	System.out.println("Printing Response Header...\n");
    
    	Header[] headers = response.getAllHeaders();
    	for (Header header : headers) {
    		System.out.println("Key : " + header.getName() 
                               + " ,Value : " + header.getValue());
    
    	}
    
    	System.out.println("\nGet Response Header By Key ...\n");
    	String server = response.getFirstHeader("Server").getValue();
    
    	if (server == null) {
    		System.out.println("Key 'Server' is not found!");
    	} else {
    		System.out.println("Server - " + server);
    	}
    
    	System.out.println("\n Done");
    
        } catch (Exception e) {
    	e.printStackTrace();
        }
      }
    }

    参考文献

    1. Wiki:HTTP标头字段列表
    2. 如何在Java中获取HTTP请求标头
    3. URLConnection.html#getHeaderFields()Java文档
    4. Apache Http组件– HttpClient
    5. 如何在Java中发送HTTP请求GET / POST

    翻译自: https://mkyong.com/java/how-to-get-http-response-header-in-java/

    展开全文
  • java获取http请求头和设置http响应头

    千次阅读 2020-06-29 19:08:39
    response设置响应头response.setHeader(name,value);//通用的设置响应头的方法 //有些响应头比较常用,如果使用response.setHeader(name,value);的方式,你需要正确的写出其name,因此java有单独把这些重要的 /...

    request得到请求header,

    request.getHeaderNames();
    

    response设置响应头。

    response.setHeader(name, value);//通用的设置响应头的方法
    //有些响应头比较常用,如果使用response.setHeader(name, value);的方式,你需要正确的写出其name,因此java有单独把这些重要的
    //常用的响应头拎出来封装成了方法,省的你去记name了
    //注:设置应答头应该在发送任何文档内容之前进行。 	
    response.setDateHeader//设置包含日期的应答头,避免了把Java时间转换为GMT时间字符串的麻烦
    response.setIntHeadr//设置整数值应答头,避免了把整数转换为字符串的麻烦
    response.setContentType//等于 setHeader("Content-Type","x")
    response.setContentLength//设等于 setHeader("Content-Length",22)。对于支持持久HTTP连接的浏览器有效
    response.addCookie//设置一个Cookie(Servlet API中没有setCookie方法,因为应答往往包含多个Set-Cookie头)。
    response.sendRedirect//相当于setHeader("Location","x")
    

    常用mine类型:

    后缀        mine类型

    .*     application/octet-stream

    .dll/.exe       application/x-msdownload

    .txt等  text/plain

    .htm/.html/.xhtmltext/html

    .jpg                                                         image/jpeg

    json对象                                                    application/json

    展开全文
  • 本节来介绍response.response响应的意思.在JAVA web的主要作用就是把发送我们设置的信息给客户端。HttpServletResponseHttpServletResponse如何使用? response是一个对象,主要用于动态的给客户端反馈信息。 ...

    本节来介绍response.response是响应的意思.在JAVA web的主要作用就是把我们设置的信息发送给客户端。

    response是一个对象,主要用于动态的给客户端反馈信息。

    HttpServletResponse

    普通的Servlet中的response类型是ServletResponse,而HttpServlet中的是HttpServletResponse,它针对HTTP协议设计,功能更加强大.HttpServletResponse能设置header等HTTP协议的信息。而ServletResponse不行

    HttpServletResponse如何使用?

    response是用于动态给客户端反馈信息的类,所以我们就要知道怎么来用response给客户端反馈信息
    首先了解下Http响应的结构,Http响应由响应头,响应行,响应体组成.
    在谷歌浏览器response体现如下:
    在这里插入图片描述

    response设置响应行

    响应行主要是设置状态码。也就是400,401之类的。如果不设置。那系统会根据处理结果自己设置。比如请求成功就是200,服务器出错就是500,找不到路径就是404之类等等。

    使用setStatus(int) 来设置状态码

     @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            //获取状态码404
            response.setStatus(404);
        }
    

    启动tomcat,并执行此servlet
    在这里插入图片描述
    就出现这样的页面(谷歌浏览器)

    response设置响应头

    response.setHeader(String,String);根据key设置value,
    这个方法很重要。什么头都可以用这个来设置值。

    @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置Content-Type = text/html;charset=UTF-8
        //根据key设置value
            response.setHeader("Content-Type","text/html;charset=UTF-8");
        }
    

    启动tomcat,并执行此servlet,然后在f12打开浏览器调试从network抓包
    在这里插入图片描述
    这样就设置成功了。
    还有一些其他响应头的设置方法
    response.setContentType(String);//设置content-type
    response.addHeader(String,String);//添加一个自定义的响应头

    response设置响应体

    响应体也就是能够渲染在页面上的信息。
    使用getWriter()方法获取PrintWriter对象.在使用PrintWriter的write()方法来输入响应体的内容.

     @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter writer = response.getWriter();
            writer.write("love you");
        }
    

    启动tomcat,执行该servlet
    输出如下
    在这里插入图片描述
    当然你还可以写html标签

    @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter writer = response.getWriter();
            writer.write("<div style='color:red'>love you</div>");
            writer.write("<div style='color:green'>hello world</div>");
        }
    

    执行结果:
    在这里插入图片描述

    总结:
    1,response是什么?
    一个封装着响应信息并能够动态发送给客户端的对象.
    2,response怎么用?
    (1)response设置响应行,使用setStatus()方法
    (2)response设置响应头,使用setHeader(),addHeader()等方法
    (3)response设置响应体,使用getWriter()获取PrintWriter对象在使用write()方法

    展开全文
  • response响应头,下载文件

    千次阅读 2020-08-03 16:53:58
    response响应头,下载文件 前端代码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>下载页面</title> </head> <body> <...
  • java 获取响应头response header

    万次阅读 2007-05-03 22:07:00
    package com.bighai.forTest;import java.io.IOException;import java.net.URL;import java.net.URLConnection;import java.util.Map;import java.util.Set;public class CheckHttpResposneHeaders { public stat
  • 主要介绍了Java中HttpServletResponse响应中文出现乱码问题的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • java获取URL响应头的日期时间

    千次阅读 2017-06-19 08:42:21
    import java.io.IOException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.Date;
  • Java通用的response响应内容格式(json)

    千次阅读 2019-04-18 18:25:00
    response回执通用格式,后端将数据返回给前端的数据格式 返回的是对象,也可以是map或json 代码如下: import java.util.HashMap; import java.util.Map; public class ResponseUtil { public static Object ok() { ...
  • java 前后端分离,跨域问题及获取响应头信息跨域问题解决方案 :基础filter 实现doFilter方法public class CORSFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ...
  • java selenium获取Network response的内容

    千次阅读 热门讨论 2019-11-28 18:47:40
    这两天遇到一个棘手的异常,时不时页面会弹出:“系统繁忙,请稍候再试!”,这时候我们去看网络请求数据,结果状态...其中请求头、响应头,可以通过 PERFORMANCE_LOG 拿到,问题都不大。但是请求体与响应体,我们可...
  • HttpUrlConnect获取响应头

    千次阅读 2018-04-20 10:41:00
    import java.io.IOException; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class GetHeader { public static void main(String[] a...
  • 最近遇到一个请求重定向。想要判断url 是否和预期一致。找了下有两种方法: 一、用正则表达式提取器 1、想要提取如下图响应数据 正则表达是提取设置如下:...//获取请求数据, String abc = ResponseHeaders; ...
  • 我再使用网络请求的时候使用的是Retrofit2结合RxJava 网上的方法是在定义请求接口的时候使用 ...Response<SomeClass> getSomeData(); ``` 但一个一个修改也太麻烦了,请问有什么好的方法吗?谢谢
  • java Filter过滤器获取响应数据

    千次阅读 2020-11-09 17:10:28
    响应数据拦截 1、ResponseFilter package com.ws.ldy.config.auth.filter; import com.alibaba.fastjson.JSON; import com.ws.ldy.config.auth.service.FilterService; import ...
  • 在控制台Network里明明能看到,但是在响应拦截器里用jsheaders["content-disposition"]来获取,但是打印 header对象里并没有content-disposition,无法获取,这是什么原因? 根据MDN文档:Access-Control-Expose-...
  • 我想在过滤器执行完chain.doFilter(request, response)时,获得得response内容
  • Java获取Http响应Header信息

    千次阅读 2013-03-12 22:00:00
    本文中演示如何通过URLConnection获取Http响应Header信息 1.从响应中获得Header信息 URL obj = new URL("http://www.qiyadeng.com"); URLConnection conn = obj.openConnection(); M...
  • Java InputStream读取数据问题 ====================================================================== 原理讲解  1. 关于InputStream.read()  在从数据流里读取数据时,为图简单,经常用InputStream.read...
  • HttpClient获取302响应中的Location信息 public static String getLocationUrl(String url) { RequestConfig config = RequestConfig.custom().setConnectTimeout(50000).setConnectionRequestTimeout(10000)...
  • httpclient获取响应头信息

    千次阅读 2012-11-30 11:14:14
    String _cookies = getCookieStr(postMethod.getResponseHeader("Set-Cookie"));     private String getCookieStr(Header header) { ...StringBuilder sb = new StringBuilder();...HeaderElement[] ...
  • import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.log4j.Logger;...import java.io.BufferedReader; import java.io.IOException; impo
  • JAVA发送HTTP请求,返回HTTP响应内容

    热门讨论 2011-04-20 16:58:03
    JAVA发送HTTP请求,返回HTTP响应内容 首先让我们先构建一个请求类(HttpRequester)。 该类封装了JAVA实现简单请求的代码。 其次我们来看看响应对象(HttpRespons)。响应对象其实只是一个数据BEAN,由此来封装请求...
  • gateway获取、修改客户端请求Request的参数,我们在上一篇已经讲过了。那么网关发起请求后,微服务返回回来的response的值,还是要经过网关才发给客户端的。很多时候,我们希望能看到响应的值,或者修改它。那么怎么...
  • 获取响应消息 get all response headers

    千次阅读 2018-01-26 14:09:34
    转载: https://stackoverflow.com/questions/1557602/jquery-and-ajax-response-header
  • 这个包括3个java文件主要是测试服务器响应时间
  • java web 处理response返回数据

    万次阅读 2018-07-23 22:03:47
    需要构造一个response的代理,放入过滤器中,等action执行完后,通过代理来获取response的io流数据,改写后再写入。具体代码如下。 ** * @description : 返回代理 * @author : WangJie * @create : 2018...
  • HttpResponseMessage获取请求响应体内容

    千次阅读 2019-09-28 02:28:53
    使用httpClient获取的HttpResponseMessage类型的response,直接对其toString()获取的是请求的响应头,并没有获取响应体的内容 解决办法 HttpResponseMessage.Content 属性声明 HTTP 响应的内容。...
  • java获取 Response 中的 location属性

    千次阅读 2020-03-24 12:25:37
    //解析响应 if(response.getStatusLine().getStatusCode() == 302) { org.apache.http.Header locationHeader = response.getFirstHeader("Location"); if(locationHeader!=null){ locale...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 137,822
精华内容 55,128
热门标签
关键字:

javaresponse获取响应头

java 订阅