62,614
社区成员
发帖
与我相关
我的任务
分享
public String doMobileCharge(String pTel, String pCardPwd, int pAmt) throws IOException
{
String ret = "";
try
{
String checkCode = null;
String imagePath = null;
String CheckCodeCookie = null;
//下载图片到指定路径
while(true)
{
imagePath = m_Mask + ".jpeg";
if(null == (CheckCodeCookie = doGetImage(imagePath)))
{
continue;
}
System.out.println("imagePath:" + imagePath);
//对图片进行识别
OCR ocr = new OCR();
checkCode = ocr.recognizeText(new File(imagePath), "bmp", m_Mask + ".bmp");
if(checkCode.contains("\r\n"))
{
checkCode = checkCode.replaceAll("\r\n", "");
}
checkCode = checkCode.trim();
checkCode = checkCode.replaceAll(" ", "");
checkCode = checkCode.replaceAll(",", "");
checkCode = checkCode.replaceAll("'", "");
checkCode = checkCode.replaceAll("-", "");
new File(imagePath).delete();
if(null == checkCode || checkCode.trim().length() != 4)
{
continue;
}
try
{
Integer.parseInt(checkCode.trim());
break;
}
catch(Exception e)
{
checkCode = null;
sleep(1000);
continue;
}
}
if(null == checkCode)
return "21002";
String pData = "numbean.userNumBean.userSelNum=1&cardPwd="+pCardPwd+"&numbean.userNumBean.otherNum="+pTel+"&numbean.userNumBean.serviceType=03&verifyCode="
+checkCode;
PostMethod post = new PostMethod("http://upay.10010.com/web/Recharge/rechargeConfirm"); post.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
post.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; CIBA; Media Center PC 6.0; InfoPath.2)");
post.setRequestHeader("Accept-Language","zh-CN");
post.setRequestHeader("Referer", "http://upay.10010.com/web/Recharge/rechargeInit");
post.setRequestHeader("Cookie", CheckCodeCookie);
RequestEntity entity = new StringRequestEntity(pData);
post.setRequestEntity(entity);
//指定请求内容的类型
int result = m_Client.executeMethod(post);
if(result != HttpStatus.SC_OK)
{
System.err.println( "doMobileCharge() -> Method failed:" + post.getStatusLine());
ret = "20000";
return ret;
}
InputStream is = post.getResponseBodyAsStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb = new StringBuilder();
String temp = null ;
while((temp = br.readLine())!= null){
System.out.println(temp);
sb.append(temp);
}
String response = sb.toString();
post.releaseConnection();
/************************************确认充值****************************************/
PostMethod post1 = new PostMethod("http://upay.10010.com/web/Recharge/rechargeResult");
post1.setRequestHeader("Cookie", CheckCodeCookie);
post.setRequestHeader("Referer", "http://upay.10010.com/web/Recharge/rechargeConfirm");
post1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//指定请求内容的类型
int result1 = m_Client.executeMethod(post1);
if(result1 != HttpStatus.SC_OK)
{
System.err.println( "doTelCharge() -> Method failed:" + post1.getStatusLine());
ret = "20000";
return ret;
}
String response1 = post1.getResponseBodyAsString();
CommMethod.LOG("response1:"+response1);
post1.releaseConnection();
if(response1.contains("成功"))
{
ret = "00000";
}
else
{
ret = "21002";
}
}
catch(Exception ex)
{
ex.printStackTrace();
ret = "20000";
}
return ret;
}
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar c = Calendar.getInstance();
String time = format.format(c.getTime());
URL url = new URL("http://upay.10010.com/web/EsfWeb/VerifyCode.action?timestamp="+time);
HttpURLConnection huc =(HttpURLConnection)url.openConnection();
huc.connect();
InputStream is = huc.getInputStream();
//取得sessionID.
String cookieVal = huc.getHeaderField("Set-Cookie");
String sessionId = "";
if(cookieVal != null)
{
sessionId = cookieVal.substring(0, cookieVal.indexOf(";"));
}
System.out.println("sessionId:" + sessionId);
DataInputStream in_check = new DataInputStream(is);
DataOutputStream out = new DataOutputStream(new FileOutputStream(imagePath));
byte[] buffer = new byte[4096];
int count = 0;
while ((count = in_check.read(buffer)) > 0)
{
out.write(buffer, 0, count);
}
out.close();
in_check.close();
List<String> cmd = new ArrayList<String>();
// if (OS.isWindowsXP())
// {
// cmd.add(tessPath + "\\tesseract");
// }
// else if (OS.isLinux())
// {
// cmd.add("tesseract");
// }
// else {
// cmd.add(tessPath + "\\tesseract");
// }
//cmd.add("c:\\tesseract\\tesseract");
cmd.add("D:\\tesseract\\tesseract");
cmd.add("");
cmd.add(outputFile.getName());
cmd.add(LANG_OPTION);
cmd.add("eng");
ProcessBuilder pb = new ProcessBuilder();
pb.directory(f2.getParentFile());
cmd.set(1, tempImage.getName());
pb.command(cmd);
pb.redirectErrorStream(true);
Process process = pb.start();