用HTTP Head 试探网络上的一个文件存在,但是不去下载?

原创 2017年03月15日 20:29:24

在我们的应用中,有的时候会试探一个文件是否存在,一个图片是否存在,但是不去真正的去下载,特别是文件比较大的时候。那么这个时候,我们的代码应该如何写呢?下面是基于JDK 自身API的一种实现方式:使用HTTP的HEAD方法。

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import org.junit.Test;

public class URLTest {

	@Test
	public void testURL(){
		String urlstr="https://www.broward.org/EasyPay/Learning/Documents/TimecardsSchedulesSupervUseGuide.pdf";
		try {
			long begin=System.currentTimeMillis();
			URL url=new URL(urlstr);
			HttpURLConnection httpURLConnection=(HttpURLConnection)url.openConnection();
			httpURLConnection.setRequestMethod("HEAD");
			int responsecode=httpURLConnection.getResponseCode();
			System.out.println("-----"+responsecode);
			long end=System.currentTimeMillis();
			System.out.println("--Time Consumed---"+(end-begin));
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


如果Fiddler 4模拟,其报文如下:



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chancein007/article/details/62237001

Javaweb开发基础视频教程之http协议

-
  • 1970年01月01日 08:00

HTTP头部详解及使用Java套接字处理HTTP请求

 进行Web开发关键是要了解超文本传输协议(HTTP),该协议用来传输网页、图像以及因特网上在浏览器与服务器间传输的其他类型文件。只要你在浏览器上输入一个URL,最前面的http://就表示使用HTT...
  • overmaker
  • overmaker
  • 2008-03-18 17:39:00
  • 17936

Java 获取http请求头内容

String headValue = request.getHeader("user-agent"); Enumeration en = request.getHeade...
  • u011072139
  • u011072139
  • 2016-01-28 16:26:32
  • 11127

根据网络路径批量下载文件保存到本地

根据网络路径批量下载文件保存到本地
  • Jack_software
  • Jack_software
  • 2015-07-04 20:18:55
  • 385

JAVA从网络下载文件到本地

1.首推一种方法,封装好的FileUtils,简单一句话就搞定 /** * 下载文件---返回下载后的文件存储路径 * * @param url 文件地址 * @param dir...
  • vison155142
  • vison155142
  • 2017-07-24 20:26:37
  • 3328

http下载文件(通用格式)

package com.yqcf.util;import java.io.File;import java.io.FileInputStream;import java.io.IOException;...
  • srjthinker
  • srjthinker
  • 2007-10-19 13:37:00
  • 1526

HttpClient中头部Header的使用

今天看了几个使用HttpClient设置头部信息的帖子,发现使用的Header都是commons-httpclient包中的: import org.apache.commons.httpcli...
  • blue_jjw
  • blue_jjw
  • 2013-04-07 17:16:29
  • 78378

HTTP文件下载原理

于HTTP协议,向服务器请求某个文件时,只要发送类似如下的请求即可: GET /Path/FileName HTTP/1.0Host: www.server.com:80Accept: *...
  • wang664626482
  • wang664626482
  • 2016-09-05 16:56:08
  • 2268

服务器下载文件Http头的设置

网站提供下载服务时经常需要实现一个强制下载功能(即强制弹出下载对话框),并且文件名保持和用户之前上传时相同。 效果如下图:  Content-Disposition 使用 HTTP Hea...
  • wwd0501
  • wwd0501
  • 2015-11-17 18:09:23
  • 11547

socket http文件下载器c语言实现

socket真是一个神奇的东西,可以说是另外一扇大门, 蕴藏着很多有趣的东西, 本文就介绍如何使用c语言使用socket实现一个http文件下载器.下载分为以下几个过程 解析出下载地址中的域名和文件名...
  • xiongyangg
  • xiongyangg
  • 2016-02-29 18:52:56
  • 7077
收藏助手
不良信息举报
您举报文章:用HTTP Head 试探网络上的一个文件存在,但是不去下载?
举报原因:
原因补充:

(最多只允许输入30个字)