packagecom.imgyzm;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.impl.client.DefaultHttpClient;importorg.apache.http.impl.conn.PoolingClientConnectionManager;importorg.apache.http.util.EntityUtils;importorg.openqa.selenium.io.FileHandler;/***@authorQiaoJiafei
*@version创建时间:2015年11月9日 上午10:53:11
* 类说明*/
public classGetYZMByHttpClient {public static void main(String args[]) throwsException {
String s="";
HttpClient httpclient= new DefaultHttpClient(newPoolingClientConnectionManager());
String imgurl= "http://172.16.30.226:8099/bms/checkcode.do?0.9858807739801705";
HttpGet ht= newHttpGet(imgurl);
HttpResponse response= null;
response=httpclient.execute(ht);
HttpEntity entity=response.getEntity();
InputStream inStream=entity.getContent();byte[] data =readInputStream(inStream);//new一个文件对象用来保存图片,默认保存当前工程根目录
File imageFile = new File("D:/yzm.jpg");//创建输出流
FileOutputStream outStream = newFileOutputStream(imageFile);//写入数据
outStream.write(data);//关闭输出流
outStream.close();
Runtime rt=Runtime.getRuntime();
rt.exec("cmd.exe /C tesseract.exe D:\\yzm.jpg D:\\ddd\\yzm -1 ");
Thread.sleep(1000);
File file= new File("D:\\ddd\\yzm.txt");if(file.exists()) {
FileHandler fh= newFileHandler();
s=fh.readAsString(file).trim();
System.out.println("========="+s);
}else{
System.out.print("yzm.txt不存在");
}/*===========下面是登录接口==========*/String url= "http://172.16.30.226:8099/bms/staff/login.do?account=admin123&checkcode="+s+"&pwd=aaaaaa1";
System.out.println("url=========="+url);
HttpPost httppost= newHttpPost(url);
response=httpclient.execute(httppost);
entity=response.getEntity();
s= EntityUtils.toString(entity, "UTF-8");
System.out.println(s);//打开链接
}public static byte[] readInputStream(InputStream inStream) throwsException{
ByteArrayOutputStream outStream= newByteArrayOutputStream();//创建一个Buffer字符串
byte[] buffer = new byte[1024];//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;//使用一个输入流从buffer里把数据读取出来
while( (len=inStream.read(buffer)) != -1){//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}//关闭输入流
inStream.close();//把outStream里的数据写入内存
returnoutStream.toByteArray();
}
}