日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java跳过_java跳过https证书直接请求工具类

發(fā)布時間:2024/10/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java跳过_java跳过https证书直接请求工具类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

/**

* 過濾https協(xié)議

* @author edwin

*/

public class FiltratHttpsUtils {

static HostnameVerifier hv = new HostnameVerifier() {

public boolean verify(String urlHostName, SSLSession session) {

System.out.println("Warning: URL Host: " + urlHostName + " vs. "+ session.getPeerHost());

return true;

}

};

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 {

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;

}

public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType)

throws java.security.cert.CertificateException {

return;

}

public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType)

throws java.security.cert.CertificateException {

return;

}

}

public static void doFiltra() throws Exception {

trustAllHttpsCertificates();

HttpsURLConnection.setDefaultHostnameVerifier(hv);

}

}

只需要在請求前調(diào)用:FiltratHttpsUtils .doFiltra()即可。

package com.dao;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

import org.jsoup.Connection;

import org.jsoup.Jsoup;

import org.jsoup.Connection.Method;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;

import com.dao.HttpsUrlValidator.FiltratHttpsUtils;

public class PhotoVerification {

public static void main(String[] args) throws Exception {

try {

FiltratHttpsUtils .doFiltra();

String url="https://inv-veri.chinatax.gov.cn/index.html";

//HttpsUrlValidator.retrieveResponseFromServer(url);

//doc = Jsoup.connect(url).header("User-Agent",rand_agents).timeout(10000).get();

//body = doc.getElementsByTag("body").html();

//log.info(e.getMessage());

//

//通過Jsoup的Connect方法獲取document類

Document document = Jsoup.connect(url).get();

//System.out.println(document.title());//控制臺打印網(wǎng)頁標題

//根據(jù)class獲取Elements類

//Element timeElement = document.getElementById("yzminfo");//文字

//Element titleElement = document.getElementById("yzm_img");//圖片的base64碼

//

Element timeElement = document.getElementById("yzminfo");//文字

Element titleElement = document.getElementById("imgarea");//圖片的base64碼

System.out.println(timeElement);

System.out.println("----------------------");

System.out.println(titleElement);

//指定文件名及路徑

//File file = new File("D:\\title.txt");

//File contentFile = new File("D:\\content.txt");

//if(!file.exists()){

//file.createNewFile();

//}

//if(!contentFile.exists()){

//contentFile.createNewFile();

//}

寫入本地

//PrintWriter pw = new PrintWriter("D:\\title.txt");

//PrintWriter contentPw = new PrintWriter("D:\\content.txt");

//pw.close();

//

//

String href = titleElement.get(i).attr("href");//取出新聞標題的url

//String schoolHref = "http://www.haie.edu.cn/";

//因為取出來的新聞url不規(guī)范,直接訪問不了,需要將其拼接成正常的網(wǎng)頁url

//String contentHref = schoolHref+href;

//重復(fù)第一步的內(nèi)容,根據(jù)URL取Documet類

//Document contentDoc = Jsoup.connect(contentHref).get();

//繼續(xù)觀察網(wǎng)頁,取出新聞詳細頁面的文字。

//Elements contentElement = contentDoc.getElementsByClass("contentstyle125127");

//Elements authorElement = contentDoc.getElementsByClass("authorstyle125127");

//String content = contentElement.text();

//String author = authorElement.text();

//打印出作者,新聞詳細內(nèi)容

//contentPw.println(author);

//contentPw.println(content);

//contentPw.println("---------------------------");

//

//contentPw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

總結(jié)

以上是生活随笔為你收集整理的java跳过_java跳过https证书直接请求工具类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。