直接上代码,下面是获取验证码图片的代码:
imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(new Runnable() { @Override public void run() { try { URL url = new URL("http://192.168.1.205/verify.php?rand=29569"); HttpURLConnection conn = (HttpURLConnection) url.openConnection();//建立链接 InputStream in = conn.getInputStream();//读取图片先 bitmap = BitmapFactory.decodeStream(in);//解码图片 handler.sendEmptyMessage(1);//发送消息,把图片显示出去 String cookieval = conn.getHeaderField("set-cookie");//读取cookies信息 if(cookieval!= null){ Log.d(TAG,cookieval); sessionid = cookieval.substring(0,cookieval.indexOf(";")); //这里是读取sessionid,一般是放在第一位的:Cookie:PHPSESSID=h8tcqq5h7nj9ll42u5656k0a54; Log.d(TAG,sessionid); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }).start(); } }); imageView.callOnClick();//启动程序的时候call点击方法
接着就是单击按钮提交请求了:
but1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String verity = editText.getText().toString(); final String url1 = "http://192.168.1.205/mapi/index.php?act=send_reset_pwd_code&r_type=1&verify="+verity+"&mobile=15608309795"; new Thread(new Runnable() { @Override public void run() { try { URL url = new URL(url1); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); if(sessionid != null){ conn.setRequestProperty("cookie",sessionid);//把COOKIE设置进去,不然服务器没办法读取到session里的信息 } //这里是做了一次文本处理,就是服务器返回的数据 BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = null; String str = ""; while ((line = br.readLine()) != null){ str += line; } br.close(); Log.d(TAG,str); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }).start(); } });
Handler handler = new Handler(){ public void handleMessage(Message msg) { if (msg.what == 1){ imageView.setImageBitmap(bitmap); } } };