社区
Web 开发
帖子详情
java中通过httpclient下载指定的验证码失败
lonelydreamsym
2011-06-16 06:01:39
如题,地址为:http://www.lyjjzd.com/wfcx.asp,这里面查询时有验证码,在程序中通过httpclient访问这个面页,然后访问页面中的难码,但总是返回空信息,不知道为啥,这种访问访问其它网站的验证码都是正常的,挺让人郁闷的,给瞧瞧如何处理。
...全文
235
12
打赏
收藏
java中通过httpclient下载指定的验证码失败
如题,地址为:http://www.lyjjzd.com/wfcx.asp,这里面查询时有验证码,在程序中通过httpclient访问这个面页,然后访问页面中的难码,但总是返回空信息,不知道为啥,这种访问访问其它网站的验证码都是正常的,挺让人郁闷的,给瞧瞧如何处理。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
checktime
2011-07-01
打赏
举报
回复
之前遇到的问题是,用URL 类能获得 验证码,但是用httpclient时的 getResponseBodyAsStream 返回的时候,转成imageicon 出不来图片,后来发现,用in.avaiable()返回的是空,看解释说,返回0是正常的,然后直接用ByteArrayInputStream 转了一次再用BufferedImage再转一次,然后new ImageIcon 就出来了,还没研究为什么会这样,之前测试jsp时候没有问题,在asp下有这个问题,郁闷啊
xwmr1988
2011-06-17
打赏
举报
回复
大家好哦,路过
lonelydreamsym
2011-06-17
打赏
举报
回复
程序中保持会话的情况下,先访问页面,然后找到页面中的图片的url,再接着访问图片,也是不成的。
lonelydreamsym
2011-06-17
打赏
举报
回复
楼上几位的方法,早都试过了,都搞不定,才来这里开这个帖子的,大家可直接试下,找到url中直接在浏览器中是打不开的。我用java和net都测试过,获取不到图片。
xuejelly
2011-06-17
打赏
举报
回复
[Quote=引用 7 楼 magong 的回复:]
引用 3 楼 lonelydreamsym 的回复:
呵呵,这个是比较奇怪的,找对了url它也不会显示的,偶奇怪的也是这里,目前反复测试,除了直接在页面里能显示,其它各种方式都不显示,让人不是一般的郁闷。
你这样操作肯定可以:
1 用浏览器打开网页
2 浏览页面源码,找到参数,如".24566"之类的
3 将该参数附缀到URL中,可以直接下载到图片(我验证过)
那么你需要在……
[/Quote]
+1
magong
2011-06-17
打赏
举报
回复
[Quote=引用 3 楼 lonelydreamsym 的回复:]
呵呵,这个是比较奇怪的,找对了url它也不会显示的,偶奇怪的也是这里,目前反复测试,除了直接在页面里能显示,其它各种方式都不显示,让人不是一般的郁闷。
[/Quote]
你这样操作肯定可以:
1 用浏览器打开网页
2 浏览页面源码,找到参数,如".24566"之类的
3 将该参数附缀到URL中,可以直接下载到图片(我验证过)
那么你需要在程序中用httpclient模拟这个次序,第一步抓到网页后,从网页中萃取出正确的参数。
Fly_m
2011-06-16
打赏
举报
回复
我刚看一下url界面。
这里面它显示的图片,是根据后面的一个参数确定的。如果你随便给个参数的话,那是显示不了图片的。
我想这个随便数跟session相关。因此,你重新发请求,去读取这个图片,由于session变了,肯定读不了图片了。
因此,在读取图片时,要使用与前一次访问网页地址同样的一个session,否则就取不到图片。并且,访问一次图片变一次,所以不要重复访问(验证码重新生成了)。
小伙
2011-06-16
打赏
举报
回复
HttpAnalyzerStdV6这个工具你用过就最好(抓网页的)
你通过
httpGet= new HttpGet("http://www.lyjjzd.com/wfcx.asp")
httpGet.setHeader("Referer","页面由来的网页"); //有时候可以没有
response=httpclient.execute(httpGet);
String contentString = EntityUtils.toString(response.getEntity());
System.out.println(contentString); //这里面是你请求网址的所有内容;
你需要截取contentString的内容取得图片的href="url内容"
httpGet.abort() 终止httpGet请求
你再发送请求url内容;
httpGet= new HttpGet("http://www.lyjjzd.com/"+url内容) 这里面是你请验证码图片的完整url
File file = new File("C:/Users/guo/workspace/ghn/tesseract/cPic.gif");
response=httpclient.execute(httpGet);
InputStream is = response.getEntity().getContent();
FileOutputStream fos = new FileOutputStream(file);
int len;
byte[] b = new byte[buffer];
while((len=is.read(b,0,1024))!=-1){
fos.write(b,0,len);
}
fos.flush();
is.close();
fos.close();
这样可以保存图片..希望对您有用哦
hymagic
2011-06-16
打赏
举报
回复
学习学习
lonelydreamsym
2011-06-16
打赏
举报
回复
呵呵,这个是比较奇怪的,找对了url它也不会显示的,偶奇怪的也是这里,目前反复测试,除了直接在页面里能显示,其它各种方式都不显示,让人不是一般的郁闷。
magong
2011-06-16
打赏
举报
回复
验证码就是图片而已。
URL找对了就行了。
这个页面中的验证码需要一个URL参数来决定验证码,不是随机生成的,倒是有点奇怪。
lonelydreamsym
2011-06-16
打赏
举报
回复
自己顶下
Java
实现短信
验证码
发送
实现过程简单,互亿官方会给到各种语言的实现模板可以自行到官网
下载
(不是打广告,有免费信息),官网地址:https://user.ihuyi.com/login.php 需要注册使用; 注册好可以在右上角点击文档
中
心-->
下载
短信验证接口; 里面有多种语言的接口文档;如果是
Java
就打开
java
,把jar复制到项目
中
信息发送类:sendsms.
java
把它复制到项目
中
,或者把代...
使用
HttpClient
4.x实现模拟
验证码
登陆
先来简述一下没有
验证码
的网站登陆流程: 1、用户打开登陆页。这个动作完成的最关键的部分是,后台为这个浏览器新建了一个cookie,之后用户在这个浏览器的所有动作都将与这个Cookie密切相关。 2、用户输入用户名和密码(也许还有别的表单需要填写,视具体情况而定)。 3、用户点击“登陆”按钮。连同Cookie和表单一起提交到服务器,由服务器来处理后面的事情。 好,那么有
验证码
的情况又是怎么样
示例-
下载
验证码
文件
//https://www.xx.com/captcha.gif?r=1509626035515&type=login public class App { public static Closeable
HttpClient
httpclient
; public static HttpGet httpGet; public static voi...
Java
实战破解极验三代滑块
验证码
:从缺口识别到轨迹模拟
验证码
是网络安全
中
常见的人机识别技术,其核心原理是通过设置交互挑战来区分人类用户与自动化程序。极验
验证码
作为行业主流解决方案,已演进至第三代,其技术价值在于通过分析用户行为轨迹(如移动速度、加速度模式)进行智能风控,广泛应用于登录、注册等防爬虫场景。本文聚焦于使用
Java
实现自动化破解,重点解析了如何通过RGB像素比对或OpenCV进行缺口定位,并深入探讨了模拟人类拖动轨迹的算法设计,其
中
轨迹生成和缺口识别是确保破解成功的关键热词。
java
模拟有
验证码
的Http登陆
所需资源
下载
链接(资源免费,重在分享) Tesseract:http://download.csdn.net/detail/chenyangqi/9190667 jai_imageio-1.1-alpha,swingx-1.0:http://download.csdn.net/detail/chenyangqi/9190683 HttpWatch Professional:http://do...
Web 开发
81,110
社区成员
341,722
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章