本文使用okHttp+Jsoup,所需要的JAR请自行在网上下载,添加JAR的方式,参见http://blog.csdn.net/ervincm/article/details/67821256
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class LoginActivity extends Activity { private ImageView checkCodePicture; private OkHttpClient client; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.login_main); initView(); loadingCaptchaPic(); } public void initView() { Log.i(TAG, "初始化视图控件"); ; checkCodePicture=(ImageView) findViewById(R.id.checkCode_picture); } public void loadingCaptchaPic() { client=new OkHttpClient(); //加载验证码图片代码 new Thread(new Runnable() { String src; Bitmap captchaPic; @Override public void run() { try{ //http使用get方式获得返回的html代码 Request request = new Request.Builder() .url("http://hdhome.org/login.php") .build(); Response response = client.newCall(request).execute(); String responseData = response.body().string();//返回的内容 //jsoup解析,从而得到动态验证码的url地址 Document parse = Jsoup.parse(responseData); Elements select = parse.select("img[alt=CAPTCHA]"); Element element = select.get(0); src = element.attr("src"); String imagehash = src.substring(36); System.out.println("imagehash"+src); //get方式请求验证码url地址,得到返回验证码图片文件 request = new Request.Builder() .url("http://hdhome.org/"+src) .build(); response = client.newCall(request).execute(); InputStream is = response.body().byteStream(); captchaPic = BitmapFactory.decodeStream(is); checkCodePicture.post(new Runnable() { @Override public void run() { checkCodePicture.setImageBitmap(captchaPic); } }); }catch(Exception e){ e.printStackTrace(); } } }).start(); } }