Test

来源:互联网 发布:搞笑照片贴图软件 编辑:程序博客网 时间:2024/06/07 18:28
ddd
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import org.apache.log4j.Logger;public class Html2ImageCGI {public static Logger logger = Logger.getLogger(Html2ImageCGI.class); /** * 通过CGI返回图片名称,图片存储在cgiHost制定的目录上,自动存储 * @param cgiHost html2imagepdf cgi服务地址 : 10.6.10.3 * @param url 需要取证的网页www。qq.com * @return 取证后的图片名称 * @throws IOException * @throws InterruptedException */public static String getimagename(String cgiHost, String url)throws IOException, InterruptedException {String imagename = "";HttpURLConnection con = null;StringBuffer parameters = new StringBuffer();parameters.append("url=");parameters.append(url);//URL u = new URL("http://" + cgiHost+ "/cgi-bin/html2image/html2imagepdf.cgi");URL u = new URL("http://" + cgiHost+ "/cgi-bin/html2image/html2imagepdf.cgi?"+parameters.toString());logger.info("html2image url: "+u.toString());con = (HttpURLConnection) u.openConnection();con.setRequestMethod("POST");con.setDoInput(true);con.setDoOutput(true);con.setUseCaches(false);con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(),"utf-8");//osw.write(parameters.toString());osw.flush();logger.info("Request data from server by POST.");osw.close();StringBuffer buffer = new StringBuffer();BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));String tmp;logger.info("BufferedReader begin reading data.");while(!br.ready()){logger.info("BufferedReader is'n ready, waitting...");Thread.sleep(100);}while ((tmp = br.readLine()) != null) {buffer.append(tmp);buffer.append("\n");}// int BUFFER_SIZE=1024;// char[] tmp = new char[BUFFER_SIZE]; // or some other size, // int charsRead = 0;// while ( (charsRead = br.read(tmp, 0, BUFFER_SIZE)) != -1) {// buffer.append(buffer, 0, charsRead);// }String cgiret = buffer.toString();// 对cgi返回的内容进行解析 得到 图片名称if (cgiret == null) { logger.error("html2image 并没有返回图片");return imagename;}//imagename = getname(cgiret);imagename = getpdfname(cgiret);imagename = "http://"+cgiHost + "/"+imagename;logger.info("html2image 返回 evidenceUri"+imagename);return imagename;}public static String getname(String cgiret){String imagename ="";int imagenamestart = cgiret.indexOf("image")+26;String temp = cgiret.substring(imagenamestart, cgiret.length());//temp : qqxxxxx.jpgxxxxxString[] str_arr = temp.split("jpg");imagename = str_arr[0]+"jpg";return imagename;}public static String getpdfname(String cgiret){String imagename ="";int imagenamestart = cgiret.indexOf("pdf")+24;int imagenameend = cgiret.indexOf("image");String temp = cgiret.substring(imagenamestart, imagenameend);//temp : qqxxxxx.jpgxxxxxString[] str_arr = temp.split("pdf");imagename = str_arr[0]+"pdf";return imagename;} }

0 0