当前位置:   article > 正文

java如何在http请求时,忽略异常,拿到响应头信息

在java中获得http请求头和响应头

在 Java 中使用 HttpURLConnection 发送 HTTP 请求时,可以通过以下方式忽略异常并拿到响应头信息。

  1. try {
  2. URL url = new URL("http://example.com");
  3. HttpURLConnection connection = (HttpURLConnection) url.openConnection();
  4. connection.setRequestMethod("GET");
  5. connection.setConnectTimeout(5000);
  6. connection.setReadTimeout(5000);
  7. connection.setDoInput(true);
  8. connection.connect();
  9. Map<String, List<String>> headers = connection.getHeaderFields();
  10. for (Map.Entry<String, List<String>> entry : headers.entrySet()) {
  11. System.out.println(entry.getKey() + ": " + entry.getValue());
  12. }
  13. } catch (IOException e) {
  14. // ignore
  15. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

其中,connection.getHeaderFields() 方法返回响应头信息,以键值对形式存储在 Map 对象中。

也可以使用 Apache HttpClient 第三方库来实现这一目的,该库提供了更为丰富的API和高级的功能。

在 HttpClient 中,你可以使用 CloseableHttpClient 对象发送请求并得到响应头信息

  1. CloseableHttpClient httpClient = HttpClients.createDefault();
  2. HttpGet request =new HttpGet("http://example.com");
  3. CloseableHttpResponse response = httpClient.execute(request);
  4. try {
  5. Header[] headers = response.getAllHeaders();
  6. for (Header header : headers) {
  7. System.out.println(header.getName() + ": " + header.getValue());
  8. }
  9. } catch (IOException e) {
  10. // ignore
  11. } finally {
  12. response.close();
  13. }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号