java自动访问web发送验证码问题
答案:4 悬赏:40 手机版
解决时间 2021-01-31 15:29
- 提问者网友:棒棒糖
- 2021-01-31 12:03
访问一个web,这个web是要登录的,我现在已经知道这个web登录的用户名和密码,但是那个页面每次会让用户输入一个验证码,这个验证码是随机的,怎么能够获取这个web的验证码到我的程序里面,用户每次在我的程序中输入验证码后(因为用户名和密码已经写死在了程序里)就可以进入web页面呢?
最佳答案
- 五星知识达人网友:青尢
- 2021-01-31 13:23
写一个脚本
Url url=new Url(网址);
HttpURLConnection conn=url.openConnection();
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb=new StringBuffer();
String content="";
while((content=br.readLine())!=null)
{
sb.append(content);
}
return sb.toString();
//这样content里面就是这个网页的源代码,然后你去解析验证码标签
比如content.split("<img>")之类的方法去得到这个验证码,楼主试试吧
Url url=new Url(网址);
HttpURLConnection conn=url.openConnection();
BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer sb=new StringBuffer();
String content="";
while((content=br.readLine())!=null)
{
sb.append(content);
}
return sb.toString();
//这样content里面就是这个网页的源代码,然后你去解析验证码标签
比如content.split("<img>")之类的方法去得到这个验证码,楼主试试吧
全部回答
- 1楼网友:杯酒困英雄
- 2021-01-31 14:50
你需要提前打开它的页面,进行解析,,获得验证码。。
- 2楼网友:春色三分
- 2021-01-31 14:01
java web的验证码原理如下: 根据参数随机生成一个字符串,将字符串存储在一个静态变量中,然后将字符串写在图片上传递到前台供用户识别。用户将识别出的字符串再提交到服务器, 服务器取出静态变量中的字符串与之对比。然后将对比结果返回给用户。
可以自己在网上找些实现好的代码学习一下,也可以使用一些比较成熟的验证码组件。
随着越来越发达的网络技术, 验证码技术也在不断进步,有的验证码中的字符变成了中文,有的在图片中生成问题来让用户回答,有的甚至用到了图片归类,但原理没变。
- 3楼网友:鱼忧
- 2021-01-31 13:52
验证码是要人来看的,不能用程序知道(编写图像识别、模式识别的程序员可以鄙视我)。
如果用户接受每次输入验证码的话,就简单了,首先把目标网站的目录扒下来,研究验证码图片的链接特征,然后把这张图显示在登陆界面上,由用户用人眼进行图像识别、模式识别,手工录入,OK。
对于Http Response的全部Cookie信息都要保留,否则无法登陆。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯