zoukankan      html  css  js  c++  java
  • Http协议Get方式获取图片

    一、

                   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

  • 相关阅读:
    FEniCS 1.1.0 发布,计算算术模型
    Piwik 1.10 发布,增加社交网站统计
    淘宝褚霸谈做技术的心态
    CyanogenMod 10.1 M1 发布
    Druid 发布 0.2.11 版本,数据库连接池
    GNU Gatekeeper 3.2 发布
    Phalcon 0.9.0 BETA版本发布,新增大量功能
    EUGene 2.6.1 发布,UML 模型操作工具
    CVSps 3.10 发布,CVS 资料库更改收集
    Opera 移动版将采用 WebKit 引擎
  • 原文地址:https://www.cnblogs.com/hxsyl/p/3645219.html
Copyright © 2011-2022 走看看