国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java讀取外鏈圖片忽略ssl驗(yàn)證轉(zhuǎn)為base64

這篇具有很好參考價(jià)值的文章主要介紹了Java讀取外鏈圖片忽略ssl驗(yàn)證轉(zhuǎn)為base64。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

? ? ? ? 最近在對接外部接口時(shí)遇到返回的圖片所在的服務(wù)器全都沒有ssl證書,導(dǎo)致在前端直接用img標(biāo)簽展示時(shí)圖片開裂。于是轉(zhuǎn)為通過后端獲取,繞過ssl驗(yàn)證之后轉(zhuǎn)為base64返回。記錄一下代碼段。文章來源地址http://www.zghlxwxcb.cn/news/detail-618806.html

package com.sy.ai.common.utils;


import cn.hutool.core.codec.Base64Encoder;
import lombok.extern.slf4j.Slf4j;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
@Slf4j
public class ImageUtil {
    public static String imageUrlToBase64(String imgUrl){
        URL url = null;
        InputStream is = null;
        ByteArrayOutputStream outStream = null;
        HttpURLConnection httpUrl = null;
        try {
            // 忽略ssl
            trustAllHttpsCertificates();
            HostnameVerifier hv = new HostnameVerifier() {
                @Override
                public boolean verify(String s, SSLSession sslSession) {
                    return true;
                }
            };
            HttpsURLConnection.setDefaultHostnameVerifier(hv);

            url = new URL(imgUrl);
            httpUrl =(HttpURLConnection) url.openConnection();
            // 連接超時(shí)
            httpUrl.setConnectTimeout(10000);
            // 讀取超時(shí)、服務(wù)器響應(yīng)慢
            httpUrl.setReadTimeout(10000);
            httpUrl.connect();
            is = httpUrl.getInputStream();
            outStream = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int len = 0;
            while((len = is.read(buffer)) != -1){
                outStream.write(buffer,0, len);
            }
            return "data:image/png;base64," + encode(outStream.toByteArray());

        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    public static String encode(byte[] image) {
        return Base64Encoder.encode(image);
    }

    private static void trustAllHttpsCertificates() throws Exception {
        javax.net.ssl.TrustManager[] trustAllCerts = new javax.net.ssl.TrustManager[1];
        javax.net.ssl.TrustManager tm = new miTM();
        trustAllCerts[0] = tm;
        javax.net.ssl.SSLContext sc = javax.net.ssl.SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, null);
        javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    }

    static class miTM implements javax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager {
        @Override
        public java.security.cert.X509Certificate[] getAcceptedIssuers() {
            return null;
        }

        public boolean isServerTrusted(java.security.cert.X509Certificate[] certs) {
            return true;
        }

        public boolean isClientTrusted(java.security.cert.X509Certificate[] certs) {
            return true;
        }

        @Override
        public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)
                throws java.security.cert.CertificateException {
            return;
        }

        @Override
        public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)
                throws java.security.cert.CertificateException {
            return;
        }
    }
}

到了這里,關(guān)于Java讀取外鏈圖片忽略ssl驗(yàn)證轉(zhuǎn)為base64的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • elementui圖片上傳轉(zhuǎn)為base64字符串

    場景:后端需要將上傳的圖片文件作為base64字符串的方式傳參給他。 html代碼 js代碼

    2024年02月09日
    瀏覽(29)
  • python+selenium 實(shí)現(xiàn)驗(yàn)證碼由base64轉(zhuǎn)為jpg/png格式,并識別驗(yàn)證碼

    在使用python+selenium實(shí)現(xiàn)自動(dòng)化登錄時(shí),遇到了關(guān)于驗(yàn)證碼的一些問題,主要是驗(yàn)證碼格式的轉(zhuǎn)換和識別。我這里的驗(yàn)證碼都是用的base64格式,我的思路是先將base64格式轉(zhuǎn)化為jpg或者png格式,然后用ddddocr模型來識別圖片內(nèi)容。 總結(jié): replace()不生效: replace返回的是一個(gè)新的值,

    2024年02月13日
    瀏覽(21)
  • uni-app 調(diào)用相機(jī)或相冊圖片并轉(zhuǎn)為base64格式上傳圖片

    1、調(diào)用相機(jī)或相冊上傳圖片 2、圖片文件轉(zhuǎn)base64 (1)下載插件 (2)頁面引入插件 3、image-tools/index.js源碼

    2024年02月11日
    瀏覽(104)
  • uni-app小程序-將后臺返回的base64碼轉(zhuǎn)為圖片時(shí),圖片沒有顯示出來

    uni-app小程序-將后臺返回的base64碼轉(zhuǎn)為圖片時(shí),圖片沒有顯示出來

    在用uni-app開發(fā)小程序時(shí),遇到一個(gè)問題:后臺返回一長串碼,前端這邊需要將base64碼進(jìn)行轉(zhuǎn)化為圖片 2.1.獲取后臺返回的base64碼 2.2.在頁面需要的地方進(jìn)行賦值: tips:在data中 定義imgurl 變量 ,記得把 .replace(/[rn]/g,\\\'\\\') 這句代碼添加上,因?yàn)楹笈_返回的會有換行空格之類的,

    2024年02月09日
    瀏覽(94)
  • 微信小程序選擇本地圖片、視頻的最新方法chooseMedia,轉(zhuǎn)為為base64上傳到后端接口

    微信小程序選擇本地圖片、視頻的最新方法chooseMedia,轉(zhuǎn)為為base64上傳到后端接口

    微信的api變動(dòng)還是挺大的,之前選擇圖片的api wx.chooseImage 已被棄用,改為了 wx.chooseMedia ,本篇將介紹如何使用最新方法 wx.chooseMedia 進(jìn)行選擇圖片上傳并回顯,以及轉(zhuǎn)為為base64上傳到后端接口 wxml wxss js 上傳成功后,會返回一個(gè)數(shù)組,里面有圖片的 本地臨時(shí)路徑 效果圖: 有

    2023年04月20日
    瀏覽(26)
  • postman中如何顯示返回的base64圖片驗(yàn)證碼

    postman中如何顯示返回的base64圖片驗(yàn)證碼

    后端返回的代碼 將以上代碼中上面的一個(gè)字符串(即帶 data:image/jpeg;base64, )復(fù)制到 http://www.jsons.cn/img2base64 中然后點(diǎn)擊 追加img標(biāo)簽 即可將base64字符串轉(zhuǎn)為圖片 postman 中通過base64轉(zhuǎn)成圖片呢? postman 請求中返回的是base64字符串 然后在 Tests 中輸入如下代碼然后在直接查看即可

    2024年02月12日
    瀏覽(25)
  • postman獲取驗(yàn)證碼圖片(base64字符串格式)

    postman獲取驗(yàn)證碼圖片(base64字符串格式)

    在 Tests 里編寫腳本 然后,在響應(yīng)體的 Visualize 里查看

    2024年02月12日
    瀏覽(25)
  • java base64轉(zhuǎn)圖片

    java base64轉(zhuǎn)圖片

    方法 : 傳入文件路徑和base64位的編碼 main方法 結(jié)果

    2024年02月13日
    瀏覽(19)
  • Java - 將base64編碼解碼成圖片

    Java - 將base64編碼解碼成圖片

    為了方便測試,我們可以使用一個(gè)圖片編碼網(wǎng)站,將圖片進(jìn)行base64編碼 解密的代碼如下 因?yàn)閳D片的Base64字符串非常大,動(dòng)輒幾百K,所以不能直接使用 String base64 = \\\"${該圖片的base64串}\\\" 進(jìn)行測試,否則編譯器會報(bào)錯(cuò) Java \\\"constant string too long\\\" compile error\\\" 。這個(gè)錯(cuò)誤的出現(xiàn),是因

    2023年04月09日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包