zoukankan      html  css  js  c++  java
  • 图片域名升级为https之后无法用HttpURLConnection获取输入流(InputStream)的解决方法

    最近公司里的域名都升级https包括图片域名,之后就陆续出现了一些问题,其中包括无法在java代码中用HttpURLConnection访问图片路径后获取输入流:InputStream(即使获取到了,InputStream里面的值都是无效的)。

    百度查找后换了几种方法试了都不行,最后我就在想是不是跟https访问有关,之后我就把图片域名设置成即可以用http访问也可以用https访问,然后再用HttpURLConnection来访问图片路径,访问时图片路径用的是http,运行代码之后果然可以获取到图片的输入流了,然后我又试了下把http改成https,再运行代码还是获取不了。

    下面就是怎么设置即可以用https访问也可以用http访问:

    1、首先在 nginx 配置文件中把 ssl on;  这一行注释掉或者删除了

    # ssl on; 表示开启https,开启了之后只允许https访问,不允许http访问

    2、重启 nginx 即可使用http和https访问了

    具体用 HttpURLConnection 访问的代码如下:

    URL url = new URL("http://img.alicdn.com/simba/img/TB1l_ulPpXXXXc8XVXXSutbFXXX.jpg");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                
    connection.setRequestMethod("GET");
    connection.setConnectTimeout(15000);
    connection.setReadTimeout(15000);
    connection.connect(); //访问图片
    DataInputStream dis = new DataInputStream(connection.getInputStream());
    Image firstImg = ImageIO.read(dis);//将图片                                                                    //获取图片的长和高
    Integer firstImgWidth = firstImg.getWidth(null);
    Integer firstImgHeight = firstImg.getHeight(null);

    当然或许还有其它更好的解决方案,我这只是比较简单的

  • 相关阅读:
    【机器学习】Softmax 和Logistic Regression回归Sigmod
    【LDA】线性判别式分析
    【MLE】最大似然估计Maximum Likelihood Estimation
    n阶方阵A可逆充分必要条件
    【机器学习】K-Means算法
    【X-Forwarded-For】WEB修改访客IP
    【Ubuntu】ubuntu系统下python3和python2环境自由切换
    【Python】打印object对象
    【linux】dpkg info修复及dpkg: warning: files list file for package
    【php】https请求
  • 原文地址:https://www.cnblogs.com/zxci/p/6423454.html
Copyright © 2011-2022 走看看