2013.07.22(2)——— android 验证码与cookie
验证码图片与cookie对应,注册时需要把验证码以及cookie传回服务器,这里就需要在获取验证码图片时 得到cookie,并且注册时传回cookie
1、得到cookie
//加载验证码
private class LoadVcodeThread implements Runnable{
private Handler handler;
public LoadVcodeThread(Handler handler){
this.handler = handler;
}
@Override
public void run() {
if(Constant.isNetConnect){
int count = 0;
while(isRunningVcode){
String url = Constant.vcode_url;
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
HttpResponse response;
final String fileName = "vcode.png";
String cookies = "";
FileOutputStream fileOutputStream = null;
try {
response = client.execute(get);
Header bean = response.getLastHeader("Set-Cookie");
cookies = bean.getValue();
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
File file = null;
String root = null;
if (is != null) {
root = UtilFile.getFolderPath(UtilFile.DIR_VERIFY);
file = new File(root+"/"+fileName);
if(file.exists()){
file.delete();
}
fileOutputStream = new FileOutputStream(file);
byte[] buf = new byte[1024];
int ch = -1;
while ((ch = is.read(buf)) != -1) {
fileOutputStream.write(buf, 0, ch);
}
}
fileOutputStream.flush();
final String filePath = file.getAbsolutePath();
BitmapFactory.Options options=new BitmapFactory.Options();
options.inJustDecodeBounds=true;//只得到图片大小信息 不分配内存
options.inPreferredConfig = Bitmap.Config.RGB_565;
Bitmap tempBitmap=BitmapFactory.decodeFile(filePath, options);
int scale=(int)(options.outWidth/UtilManager.getInstance()._utilPhone.getPxFromDip(80));
options.inJustDecodeBounds=false;
if(scale > 1){
options.inSampleSize=scale;//设置缩放级别
}
tempBitmap = BitmapFactory.decodeFile(filePath, options);
if(tempBitmap==null){
file.deleteOnExit();
if(count==3){
isRunningVcode = false;
handler.sendEmptyMessage(MSG_REGIST_VCODE_FAIL);
}else{
count++;
}
}else{
isRunningVcode = false;
Message msg = new Message();
msg.what = MSG_REGIST_VCODE_SUC;
Object [] tArr = {tempBitmap, cookies};
msg.obj = tArr;
handler.sendMessage(msg);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}else{
}
}
}
2、传回cookie
public static String queryStringForGet(String url, String cookies){
HttpGet request = UtilHttp.getHttpGet(url);
// BasicHeader tHeader = new BasicHeader("Set-Cookie", cookies);
// request.setHeader(tHeader);
request.setHeader("Cookie", cookies);
UtilLog.log(TAG, "url: "+url + ", cookies: " + cookies);
try {
return getResult(request);
}catch(ConnectTimeoutException e){
e.printStackTrace();
// queryStringForGet(url);
}catch(SocketTimeoutException e){
e.printStackTrace();
// queryStringForGet(url);
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
分享到:
相关推荐
基于因子分析的我国A股上市...争力评价——以医药企业为例_张澳.caj
2,jdk-170.tar.gz ——————————JDK1.7deb包 3,switch_java.sh -------------------------java其它版本切换 4,check_java.sh———————————版本核对 注意:使用命令接口切换时,需要将自己配置的...
python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人.zip python项目——微信机器人....
嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟.zip嵌入式成品项目——无线接收时钟...
python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目——Word助手.zip python项目...
C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——MP3音乐播放器.zip C语言项目——...
python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ读者书库.zip python项目——RCQ...
IBExpert 2013.2.20 单文件和谐版,谁用谁知道。
微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+源码).zip 微信小程序——移动端商城(截图+...
微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈组件(截图+源码).zip 微信小程序——用户反馈...
22. 多——少 23. 古——今 24. 入——出 25. 穷——富 26. 轻——重 27. 细——粗 28. 快——慢 29. 爱——恨 30. 哭——笑 31. 这——那 32. 分——合 33. 圆——方 34. 远——近 35. 直——弯 36. 高——低 37. ...
2. 面向对象编程:Fortran 2013扩展了面向对象编程(OOP)的功能,包括类、继承、派生类型和接口等概念,使Fortran能更好地与现代软件开发方法相融合。 3. 更强的错误处理:新标准提供了一种更有效的方法来处理程序...
java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的仿微博系统设计与实现(源码+数据库).zip java毕业...
"安卓Android源码——android仪表盘.zip" 这个标题明确指出,我们即将探讨的是与安卓(Android)操作系统相关的源代码,特别是关于“仪表盘”部分。在Android系统中,仪表盘通常指的是用户界面中的控件或者应用,...
java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip java毕业设计——基于ssm的房屋租赁系统设计与实现(源码+数据库).zip java...
发福利了,Aspose Total for NET 2013.09.10 最新破解,danny_su 大作,花了10个贡献分才下载的了!现免费提供大家:) This package contains the following .NET Components: - Aspose.BarCode for .NET v5.7.0.0 ...
———————————————— 版权声明:本文为CSDN博主「MechMaster」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:...
java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现(论文+答辩PPT+源代码+数据库).zip java毕业设计——商品供应管理系统的设计与实现...
java毕业设计——基于spring boot的在线招标网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的在线招标网站设计与实现(源码+数据库).zip java毕业设计——基于spring boot的在线招标网站设计与...
Android support.v7包