c#读取验证码

zhaoenxiang100 2010-03-04 10:10:23
我写了一爬虫程序,可是由于可能访问很频繁,有时要要求输入验证码,不知道谁能自动读取验证码,并完成验证过程。
...全文
1209 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycproc 2011-04-09
  • 打赏
  • 举报
回复
从数据区块读取base64编码的图片数据
codekey = ape:loadTable("验证码样本");
imgBinKey = {}; --这是一个图像数组,用来储存还原后的验证码样本的图片数据
--必须进行一个转换,因为codekey里面只是base64编码的普通字符串,而imgBinKey 将是真正的图片对象(二进制数据)

--还原到图片对象
toImage = function(k,v)
local img9 = image.new();
img9:setBytes( string.decode( v ,"") ,"*.jpg");
imgBinKey[k] = img9;
end;
table.foreach(codekey,toImage);

--下载验证码图片
imgD = image.new();
if (imgD:getURL("/Article/UploadFiles/200508/20050831203415539.jpg") ~= true) then
win.messageBox("下载图像失败","")
image.del(imgD)
do return false end;
end;

image.corp(imgD, 9 ,0 , 41 , 20 );
--使用split函数分割图片
img2,img3,img4,img5 = imgD:split(1,4);

function test(imgX)
limit = 1;
chr = "";
win.messagePrint("正在检测图片,请稍候....")
testimg = function(k,v)

local n = imgX:testX(imgBinKey[k]);
if(nlimit = n;
chr = k.."";
end;
end;
table.foreach(imgBinKey,testimg);
return chr;
end;


win.messageBox("验证码".. test(img2)..test(img3)..test(img4)..test(img5),"")

liulangdeyuyu 2011-04-09
  • 打赏
  • 举报
回复
建议你使用代理,验证码识别太麻烦了
文少 2011-04-09
  • 打赏
  • 举报
回复
myrroom 2010-03-04
  • 打赏
  • 举报
回复
限制你IP了,就用代理,验证码这太麻烦了,做一个小爬虫没必要这么麻烦吧
路人乙e 2010-03-04
  • 打赏
  • 举报
回复
对于不同的验证码需要特定的破解方案
且很多验证码破解方案本身就是一个很大的项目
zhaoenxiang100 2010-03-04
  • 打赏
  • 举报
回复
是吗?我也没法啊,我做的程序需要啊,这个问题肯定要解决啊
HooverHuang 2010-03-04
  • 打赏
  • 举报
回复
引用楼主 zhaoenxiang100 的回复:
我写了一爬虫程序,可是由于可能访问很频繁,有时要要求输入验证码,不知道谁能自动读取验证码,并完成验证过程。


验证码就是为了防止 注册机的 ,换句话说就是为了防止程序读取的。。。。

你一个帖子都搞定了,那用了这么多年的验证码还有意义吗?

谁会这个了,就不会来这回你帖子了。。。
zhaoenxiang100 2010-03-04
  • 打赏
  • 举报
回复
引用 7 楼 ahsun1987 的回复:
验证码是干吗的??
你都能爬了,还要验证码干吗??

就是因为爬取太频繁所以网站开始限制我的ip了,需要验证码了。
Taiyangchen 2010-03-04
  • 打赏
  • 举报
回复
验证码是干吗的??
你都能爬了,还要验证码干吗??
whb147 2010-03-04
  • 打赏
  • 举报
回复
验证码不是那么容易获取的
需要用到传说中的图片识别技术

如果是简单的验证码,不是图片的还好说
Kobayashi 2010-03-04
  • 打赏
  • 举报
回复
这样的东西应该没有吧
每一个网站的验证码方法都不一样。
这样很难获取啊。
wdzr_826 2010-03-04
  • 打赏
  • 举报
回复
这个要看具体的网站,因为不同的网站验证码的机制也不同,有放到Cookie也有放到Session里的。
zhaoenxiang100 2010-03-04
  • 打赏
  • 举报
回复
我爬取的网站,有时要验证码。如谷歌之类的
验证码识别 2010-03-04
  • 打赏
  • 举报
回复
提供此服务

..
  • 打赏
  • 举报
回复
这个,你生成验证码的时候就读取吗
yao2004jessica 2010-03-04
  • 打赏
  • 举报
回复
验证码的技术确实是很好的
zhaoenxiang100 2010-03-04
  • 打赏
  • 举报
回复
引用 14 楼 cjnkd 的回复:
楼主想的简单了,那有那么容易得到了,验证吗一般是字符与图片合成的。最后的结果是图片,你除非图片识别技术。或者在合成前就取到字符。没听说还有别的方法。或都 可以想办法让网站不判断你的验证码。

可以想办法让网站不判断你的验证码
这个好,可是怎么做啊?
whb147 2010-03-04
  • 打赏
  • 举报
回复
现在的验证码很变态的
cjnkd 2010-03-04
  • 打赏
  • 举报
回复
楼主想的简单了,那有那么容易得到了,验证吗一般是字符与图片合成的。最后的结果是图片,你除非图片识别技术。或者在合成前就取到字符。没听说还有别的方法。或都 可以想办法让网站不判断你的验证码。
加载更多回复(1)

110,556

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧