JAVA获取百度游戏注册验证码并保存到本地
来源:互联网 发布:c语言入门自学书籍推荐 编辑:程序博客网 时间:2024/05/17 07:18
package downloadimg;import java.awt.image.BufferedImage;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.logging.Level;import java.util.logging.Logger;import javax.imageio.ImageIO;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;/** * @author Cytosine * @thanks BreakShadow * get CAPTCHA Img URL's API:https://passport.baidu.com/v2/?reggetcodestr * The CAPTCHA Img'url is "https://passport.baidu.com/cgi-bin/genimage?"add verifystr that get by above API. */public class DownloadImgWithoutType { public static void main(String args[]){ for(int i=0;i<1000;i++){ String path="D:\\test\\"; //Please replace your path where you want to save it of my basicPath. BufferedImage bi=httpsGetImg(httpsGetImgURL()); if(bi==null){ System.out.println("bi==null"); }else{ File f=new File(path+i+".png"); try { ImageIO.write(bi, "png", f); } catch (IOException ex) { Logger.getLogger(DownloadImgWithoutType.class.getName()).log(Level.SEVERE, null, ex); } } } } public static String httpsGetImgURL(){ StringBuffer requestResult=new StringBuffer(); BufferedReader bufferedReader=null; try{ SSLContext ssl=SSLContext.getInstance("TLS"); ssl.init(null, new TrustManager[]{cytoX509TrustManager}, null); URL url=new URL("https://passport.baidu.com/v2/?reggetcodestr"); HttpsURLConnection conn=(HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(ssl.getSocketFactory()); conn.setRequestMethod("GET"); conn.setDoOutput(true); conn.connect(); bufferedReader=new BufferedReader(new InputStreamReader(conn.getInputStream())); }catch(Exception ex){ ex.printStackTrace(); } try{ String line; while((line=bufferedReader.readLine())!=null){ requestResult.append(line); } bufferedReader.close(); }catch(Exception ex){ ex.printStackTrace(); } String all=requestResult.toString(); String[] spl=all.split("'"); String verifystr=spl[3]; String result="https://passport.baidu.com/cgi-bin/genimage?"+verifystr; return result; } public static BufferedImage httpsGetImg(String url){ BufferedInputStream bufferedInputStream=null; ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream(); try{ SSLContext ssl=SSLContext.getInstance("TLS"); ssl.init(null, new TrustManager[]{cytoX509TrustManager}, null); URL realURL=new URL(url); HttpsURLConnection conn=(HttpsURLConnection)realURL.openConnection(); conn.setSSLSocketFactory(ssl.getSocketFactory()); conn.setRequestMethod("GET"); conn.connect(); bufferedInputStream=new BufferedInputStream(conn.getInputStream()); }catch(Exception ex){ ex.printStackTrace(); } try{ int b; while((b=bufferedInputStream.read())!=-1){ byteArrayOutputStream.write(b); } bufferedInputStream.close(); }catch(Exception ex){ ex.printStackTrace(); } byte[] imgData=byteArrayOutputStream.toByteArray(); ByteArrayInputStream in=new ByteArrayInputStream(imgData); BufferedImage result=null; try { result = ImageIO.read(in); } catch (IOException ex) { Logger.getLogger(DownloadImgWithoutType.class.getName()).log(Level.SEVERE, null, ex); } return result; } //https证书 private static X509TrustManager cytoX509TrustManager=new X509TrustManager(){ public X509Certificate[] getAcceptedIssuers(){ return null; } @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { } };}
1 0
- JAVA获取百度游戏注册验证码并保存到本地
- 获取网络图片,并保存到本地
- Java实现截图并保存到本地
- java实现截图并保存到本地
- 获取本地图片或拍照并保存到本地
- 抓百度糯米图片并保存到本地
- java获取指定连接上的图片并保存到本地
- Python:转码并保存到本地
- zz 获取图片URL并保存到本地
- php获取远程图片并下载保存到本地
- iOS 通过URL获取图片,并保存到本地
- PHP获取远程图片并保存到本地
- [opencv]5.获取视频流并保存到本地
- php获取远程图片并下载保存到本地
- http协议get方法获取图片并保存到本地
- 有关获取并保存微信头像到本地服务器
- iOS 通过URL获取图片,并保存到本地
- Qt 获取网络gif图片并保存到本地显示
- 【Python】学习笔记——-3、安装Python
- windows与linux文件互享
- 64位系统结构体对齐访问段错误
- Storm集群搭建、storm集群部署
- 致力成为一家小而美的公司:发展2017
- JAVA获取百度游戏注册验证码并保存到本地
- [BZOJ3528][Zjoi2014][数学]星系调查
- 源码分析-ThreadPoolExecutor
- Android端实现远程ADC数据读取
- libIconv库实现中文中字符串与GBK、Unicode、UTF-8三种编码互转
- 汽车VIN码图像识别/汽车车架号OCR识别
- 2016年终总结
- 第二十五天(简单标签)
- Codeforces 762A-k-th divisor