直接上代码,下面是获取验证码图片的代码:
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);
}
}
};


