Http协议Get方式获取图片

简介: 一、                二、                         我试了试,Post方式也行啊,干嘛要叫强调Get方式,费解~~       答曰:get是向服务器请求数据,post是提交数据。

一、

               image

二、

                  image

      我试了试,Post方式也行啊,干嘛要叫强调Get方式,费解~~

      答曰:get是向服务器请求数据,post是提交数据。

三、

package com.hpu.test;

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

public class HttpUtils {
	// 自定义的web服务器的资源
	private static String URL_PATH = "http://localhost:8080/TestGet/1.jpg";

	public HttpUtils() {
		// TODO Auto-generated constructor stub
	}

	public static void saveImageToDisk() throws IOException {
		InputStream inputStream = getInputStream();
		byte[] data = new byte[1024];
		int len = 0;
		FileOutputStream fileOutputStream = null;
		try {
			fileOutputStream = new FileOutputStream("D:\\p.jpg");
			while ((len = inputStream.read(data)) != -1) {
				fileOutputStream.write(data, 0, len);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if (inputStream != null) {
				try {
					inputStream.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if (fileOutputStream != null) {
				try {
					fileOutputStream.close();
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}

	}

	/**
	 * 获得服务器端数据,以InputStream形式返回
	 * 
	 * @return
	 * @throws IOException
	 */
	public static InputStream getInputStream() throws IOException {
		InputStream inputStream = null;
		HttpURLConnection httpURLConnection = null;
		try {
			URL url = new URL(URL_PATH);
			if (url != null) {
				httpURLConnection = (HttpURLConnection) url.openConnection();
				// 设置连接网络的超时时间
				httpURLConnection.setConnectTimeout(3000);
				httpURLConnection.setDoInput(true);
				// 设置本次http请求使用get方式请求
				httpURLConnection.setRequestMethod("GET");
				int responseCode = httpURLConnection.getResponseCode();
				if (responseCode == 200) {
					// 从服务器获得一个输入流
					inputStream = httpURLConnection.getInputStream();
				}
			}
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		return inputStream;
	}

	public static void main(String[] args) throws IOException {
		// 从服务器获得图片保存到本地
		saveImageToDisk();
		System.out.println("传输步骤完毕");
	}
}

四、IO学习链接

                http://www.cnblogs.com/hxsyl/p/3302852.html

目录
相关文章
|
17天前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
48 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
1天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
12 3
|
6天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
33 8
|
5天前
|
缓存 网络协议 UED
HTTP协议介绍
HTTP协议的
16 5
|
5天前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
13 4
|
5天前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
5天前
|
缓存 开发者
HTTP协议
HTTP协议
16 2
|
21天前
|
安全 Java Shell
【内网—内网转发】——http协议代理转发_reGeorg代理转发
【内网—内网转发】——http协议代理转发_reGeorg代理转发
18 3
|
1月前
|
存储 网络协议 安全
HTTP协议和运行原理
HTTP协议和运行原理
|
28天前
|
安全 网络协议
http协议的有效字符
HTTP协议中有效的字符集主要是ASCII字符,包括字母、数字、保留字符、子定界符,以及一些需转义的不安全字符。使用这些字符时,应该保证正确的编码和字符集的使用,以维护HTTP交流的准确性和安全性。当处理URI和构建HTTP请求时,对特殊字符进行适当的编码是至关重要的,以确保信息的无误传达和服务器的正确理解。在现代的网络通讯中,这些细节成为了保障交互效率和系统安全的基石。
16 0