Java中如何从HTTP响应获取指定HTTP头字段值?
从CloseableHTTPResponse获取指定响应头字段
当然有,你可以借助CloseableHTTPResponse提供的方法直接获取指定头字段的字符串值:
获取单个头字段值:如果目标头字段仅存在一个值,使用
getFirstHeader(String name)方法,再调用getValue()提取字符串:// 获取Location头字段值 Header locationHeader = response.getFirstHeader("Location"); String locationValue = locationHeader != null ? locationHeader.getValue() : null; // 获取Date头字段值 Header dateHeader = response.getFirstHeader("Date"); String dateValue = dateHeader != null ? dateHeader.getValue() : null;获取多值头字段:如果某个头字段可能存在多个值(比如
Set-Cookie),用getHeaders(String name)获取头数组后遍历处理:Header[] cookieHeaders = response.getHeaders("Set-Cookie"); for (Header header : cookieHeaders) { String cookieValue = header.getValue(); // 处理每个Cookie值 }
如果需要遍历所有响应头,也可以用getAllHeaders()获取全部头对象后筛选,但直接指定字段名的方法效率更高。
内容的提问来源于stack exchange,提问作者coffeelemon
相关产品推荐
相关产品推荐

