回 帖 发 新 帖 刷新版面

主题:163邮箱注册页面的验证码图片

各位老大高手们帮帮忙,我想把163邮箱注册页面的验证码图片弄到picturebox上,请给个思路?webbrowser为隐藏的,当然如果不需要这个webbrowser那更值得我学习了。我想用winsock控件 获取可不会,谁会帮我下,这里先谢了[em1][em1]

回复列表 (共8个回复)

沙发

大家留句话呀

板凳

如果仅仅是保存图片画面,可以用复制屏幕指定部分的方法,VB可以很轻松地做到

3 楼

用winsock把下面这段发过去
GET /mailregAll/verifyCodeImg.jsp?t=1270958528689 HTTP/1.1
Host: reg.email.163.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://reg.email.163.com/mailregAll/reg0.jsp?from=163
Cookie: __ntes__test__cookies=1270958486953; locOfCh=others; Province=0571; City=09491; vjuids=ddf978e2.127eb0741d0.0.036b5680082ba8; vjlast=1270958474.1270958474.30; _ntes_nnid=8b756d746b620209cb695015c080f4a2,0; _ntes_nuid=8b756d746b620209cb695015c080f4a2; JSESSIONID=bacVf2lsrqPoo5tLXbRFs

然后等着收数据,会收到两部分,第一部分是HTTP头,以\r\n\r\n分隔;第二部分就是你的图像数据

4 楼

楼上的方法不错,可我不会,谁能给端代码,还有如用winsock写入usernam pass等信息呀

5 楼

[quote]用winsock把下面这段发过去
GET /mailregAll/verifyCodeImg.jsp?t=1270958528689 HTTP/1.1
Host: reg.email.163.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://reg.email.163.com/mailregAll/reg0.jsp?from=163
Cookie: __ntes__test__cookies=1270958486953; locOfCh=others; Province=0571; City=09491; vjuids=ddf978e2.127eb0741d0.0.036b5680082ba8; vjlast=1270958474.1270958474.30; _ntes_nnid=8b756d746b620209cb695015c080f4a2,0; _ntes_nuid=8b756d746b620209cb695015c080f4a2; JSESSIONID=bacVf2lsrqPoo5tLXbRFs

然后等着收数据,会收到两部分,第一部分是HTTP头,以\r\n\r\n分隔;第二部分就是你的图像数据[/quote]
windows不是提供了xmlhttp对象来用http协议抓东西吗?干嘛要自己去实现http协议? IE就是用这些对象来抓东西的[em58][em58]
[url]http://www.zu14.cn/2009/02/21/csharp-mshtml-webbrowser-image/[/url]
这个是把图像复制到内存,然后再复制到你自己程序的.不过我总觉得有点多余.

6 楼

我有个 QQ验证码获取器的VB源码,本打算写一个QQ申请工具,后来因为繁琐,没完成,如果想要,就发出来奉献。

7 楼

[quote][quote]用winsock把下面这段发过去
GET /mailregAll/verifyCodeImg.jsp?t=1270958528689 HTTP/1.1
Host: reg.email.163.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://reg.email.163.com/mailregAll/reg0.jsp?from=163
Cookie: __ntes__test__cookies=1270958486953; locOfCh=others; Province=0571; City=09491; vjuids=ddf978e2.127eb0741d0.0.036b5680082ba8; vjlast=1270958474.1270958474.30; _ntes_nnid=8b756d746b620209cb695015c080f4a2,0; _ntes_nuid=8b756d746b620209cb695015c080f4a2; JSESSIONID=bacVf2lsrqPoo5tLXbRFs

然后等着收数据,会收到两部分,第一部分是HTTP头,以\r\n\r\n分隔;第二部分就是你的图像数据[/quote]
windows不是提供了xmlhttp对象来用http协议抓东西吗?干嘛要自己去实现http协议? IE就是用这些对象来抓东西的[em58][em58]
[url]http://www.zu14.cn/2009/02/21/csharp-mshtml-webbrowser-image/[/url]
这个是把图像复制到内存,然后再复制到你自己程序的.不过我总觉得有点多余.[/quote]

嗯,只不过LZ要求用winsock,只能自己实现了

这样做是很多余,不能自动识别验证码,这种功能是鸡肋

最简单的方法还不是用xmlhttp,可以直接贴个webbrowser在上面,大小调整成图像大小,然后Navigate到/mailregAll/verifyCodeImg.jsp?t=1270958528689就行了[em1]

8 楼

其实仅仅是获取图片的话,方法有很多。但是,这是个验证码图片,其内容和网页的cookie,服务器session是关联的。所以只能是你要提交表单的页面上的图片才行。否则,会提示验证码不正确。
单纯是获取网页图片的话,用webBrowser,winsock,winInet等控件,或者urlDownloadToFile,OleLoadPicturePath等API函数都可以实现。

我来回复

您尚未登录,请登录后再回复。点此登录或注册