当前位置:   article > 正文

http协议访问网络资源图片---GET方法

http协议访问网络资源图片---GET方法

首先打开myEclipse创建一个web项目,然后将我们要访问的图片资源放在WEBRoot文件夹先,然后将项目部署在Tomcate服务器上,再者就是启动服务器。


然后再eclipse中创建一个普通的java项目,模仿客户端,使用Http协议的Get方法访问图片资源,具体代码如下:

  1. package com.http.get;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.net.HttpURLConnection;
  7. import java.net.MalformedURLException;
  8. import java.net.URL;
  9. public class HttpUtils {
  10. // 本地的IP地址是169.254.74.214
  11. private static String URL_PATH = "http://169.254.167.66:8080/myhttp/yuliyan.png";
  12. public HttpUtils() {
  13. }
  14. public static void saveImageToDisk() {
  15. InputStream inputStream = getInputStream();
  16. byte[] data = new byte[1024];
  17. FileOutputStream fileOutputStream = null;
  18. int len = 0;
  19. try {
  20. fileOutputStream = new FileOutputStream("c:\\oue.jpg");
  21. while ((len = inputStream.read()) != -1) {
  22. fileOutputStream.write(data, 0, len);
  23. }
  24. } catch (FileNotFoundException e) {
  25. e.printStackTrace();
  26. } catch (IOException e) {
  27. e.printStackTrace();
  28. } finally {
  29. if (inputStream != null) {
  30. try {
  31. inputStream.close();
  32. } catch (IOException e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. if (fileOutputStream != null) {
  37. try {
  38. fileOutputStream.close();
  39. } catch (IOException e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. }
  44. }
  45. public static InputStream getInputStream() {
  46. InputStream inputStream = null;
  47. HttpURLConnection httpsURLConnection = null;
  48. try {
  49. URL url = new URL(URL_PATH);
  50. if (url != null) {
  51. httpsURLConnection = (HttpURLConnection) url.openConnection();
  52. httpsURLConnection.setConnectTimeout(3000); // 设置网络的超时时间
  53. httpsURLConnection.setRequestMethod("GET"); // 设置本次http请求使用GET方式
  54. int responseCode = httpsURLConnection.getResponseCode();
  55. if (responseCode == 200) {
  56. // 从服务器端得到输入流
  57. inputStream = httpsURLConnection.getInputStream();
  58. }
  59. }
  60. } catch (MalformedURLException e) {
  61. e.printStackTrace();
  62. } catch (IOException e) {
  63. e.printStackTrace();
  64. }
  65. return inputStream;
  66. }
  67. public static void main(String[] args) {
  68. // 从服务器获得图片完成保存图片在本地
  69. saveImageToDisk();
  70. }
  71. }
注意: 我们在创建客户端访问服务器端得代码中要先将commons-httpclient-3.0.1.jar导入带项目中,然后再创建java类,同时要注意在敲
  1. HttpURLConnection httpsURLConnection = null;
  2. try {
  3. URL url = new URL(URL_PATH);
  4. if (url != null) {
  5. httpsURLConnection = (HttpURLConnection) url.openConnection();
  6. httpsURLConnection.setConnectTimeout(3000); // 设置网络的超时时间
  7. httpsURLConnection.setRequestMethod("GET"); // 设置本次http请求使用GET方式
  8. int responseCode = httpsURLConnection.getResponseCode();
这段代码时不要导javax.net.ssl.HttpsURLConnection,要导入import java.net.HttpURLConnection;



,疑问:我在运行完毕上述代码之后发现在c盘下的图片资源存在,但是看不了,对比服务器端得图片大小是18008字节,而本地图片大小却达到了14163368字节,这让我非常费解,希望高手们能给我指点迷津

转载于:https://my.oschina.net/u/574190/blog/133445

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/773659
推荐阅读
相关标签
  

闽ICP备14008679号