1.添加依赖库
compile 'com.rmtheis:tess-two:6.2.0'
2.下载文字库,解压放到手机文件夹根目录
下载地址: http://download.csdn.net/download/qq_33063279/10231538
下完之后需要放入到手机根目录
先看网页的js源码 ,注意这几个字段,后期需要赋值:
可以看到验证码其实是一个url,破解时其实就是访问一次该页面,然后带着返回的cookie再请求验证码的url,拿到图片之后进行识别,识别完了再返回webView里面通过注入js方式将用户名,用户密码和验证码赋值,然后执行js里面的login方法
下面上代码:
package cn.gotocity.gyled.activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Environment; import android.os.Handler; import android.os.Message; import android.text.TextUtils; import android.webkit.CookieManager; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import com.googlecode.tesseract.android.TessBaseAPI; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import cn.gotocity.gyled.R; import cn.gotocity.gyled.bean.WebLoginBean; import cn.gotocity.gyled.utils.LogUtil; /** * Created by Administrator on 2018/1/30. */ public class LoginWebViewActivity extends BaseActivity{ private String DATAPATH = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator; private String DEFAULT_LANGUAGE = "eng"; WebView webView; WebLoginBean bean; String username; String