1. android登录,用什么代替验证码
验证码主要为了防止不停地发送请求登录,现在客户端都是你自己做的了,这个控制起来不是更容易了么
验证码是服务器生成的,保存到服务器session里的
提交的时候,要去session里取出来对比
在android中,使用HTTPClient来提交数据,每次请求都要用同一个cookies
这样的请求才能保持session的有效
HttpClient client=new HttpClient();
Cookie[] cookies=client.getState().getCookies(); //这是取出来
client.getState().addCookies(cookies); //这里设置
即你第一个次服务器请求一个验证码,服务器即生成一个验证码,并保存到当前这个session里
而客户端下次请求(登录的时候)需要将这个cookies重新提交到服务器,服务器才能保持这个session
2. android获取短信验证码怎么实现的
要用到短信验证接口的,这个开发起来不复杂的。在程序里边实现的流程是:用户注册会员的时候,先输入自己的手机号码,点击获取验证码;网站随机生成一个数字作为验证码,同时调用验证码短信接口给这个用户发送一条短信;用户收到短信后填写验证码,再跟生成的数字进行比对,如果一致,那么说明用户填写的手机号码是正确的,验证成功
3. 如何用android studio实现生成验证码
protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_phoneCode
=
(EditText)
findViewById(R.id.et_phoneCodes);
Button
but_toSetCode
=
(Button)
findViewById(R.id
.but_forgetpass_toSetCodes);
but_toSetCode.setOnClickListener(this);
iv_showCode
=
(ImageView)
findViewById(R.id.iv_showCode);
//将验证码用图片的形式显示出来
iv_showCode.setImageBitmap(Code.getInstance().createBitmap());
realCode
=
Code.getInstance().getCode();
iv_showCode.setOnClickListener(this);
}
Xml代码
<ImageView
android:id="@
id/iv_showCode"
android:layout_width="100dp"
android:layout_marginLeft="10dp"
android:layout_height="match_parent"
/>
4. android识别验证码图片的原理与思路
假设已经把验证码图片保存到本地了
我说一下验证码识别的大致步骤吧
1,读取图片到bitmap
2,进行灰度操作
3,进行才二值操作
4,如果有干扰点 一般用滤波器或八邻域去干扰点
5,如果有干扰线 如果是简单的直线可以用扫描法,八后法等,复杂的应该根据特点调整算法
6,如果有干扰色块 也应该想法去除
7,如果有较大的倾斜 需要进行适当校正
8,此时得到的应该是比较干净的字符了,如果是非粘连的可以直接用投影法分割成单个字符
如果有粘连,需要根据图形特点从算法上做相应的处理,保证大致分割正确
9,分割成单个字符以后,如果字符比较正常 变形扭曲程序不大,可以直接用模式识别
如果变形扭曲较厉害,一般建议使用神经网络进行训练后再识别
如果是比较简单的验证码可以使用网上的一些组件,我常用的一个是OcrKingApi
不是太复杂的识别效果还可以,关键是免费的。使用文档可以看一下文库的链接
http://wenku..com/view/b5b6721555270722192ef7b3.html