网站地址www.pceggs.com/login.aspx....首先,baidu,google,csdn,vbgood里搜到的方法都已经过时了...这个网站上周改版前,我还可以抓到它的验证码...可是现在直接输入验证码的地址链接,就会跳到网站主页.....希望哪位朋友帮忙看看..给个思路..不一定是完整代码...思路就行...最好是用xmlhttp方法获取...ps: 希望想帮忙的先到上面网址看下....以往的获取方法是抓不到的....
另..不是给网站打广告...真的是纯粹的技术交流....
另..不是给网站打广告...真的是纯粹的技术交流....
Public Function GetCheckCode() Dim xmlHttp As Object
Dim Pic
Dim PicData As Object Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
Set PicData = CreateObject("Adodb.Stream")
xmlHttp.open "get", "http://www.pceggs.com/CheckCode.aspx", True
xmlHttp.setRequestHeader "Accept", "*/*"
xmlHttp.setRequestHeader "Referer", "http://www.pceggs.com/Login.aspx"
xmlHttp.setRequestHeader "Accept-Language", "zh-cn"
xmlHttp.setRequestHeader "Accept-Encoding", "gzip, deflate"
xmlHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727)"
xmlHttp.setRequestHeader "Host", "www.pceggs.com"
xmlHttp.setRequestHeader "Connection", "Keep-Alive"
xmlHttp.send
While xmlHttp.ReadyState <> 4
DoEvents
Wend
Pic = xmlHttp.responseBody
With PicData
.Type = 1
.open
.write Pic
.SaveToFile App.Path & "\CheckCode.jpg", 2
.Cancel
.Close
End With
Set PicData = Nothing
Set xmlHttp = Nothing
frmLogin.ImgYZM.Picture = LoadPicture(App.Path & "\CheckCode.jpg")
End Function
他就没跳到主页.
学习了 世界真奇妙LZ啊 楼上说的是真的
LZ啊 试了下 你说的也是真的-------------------------------------------------------------
虽然不知道你那语言啥意思但是 试了一下后 我知道你问的啥意思了 你说一进http://www.pceggs.com/CheckCode.aspx 就会自动变为主页http://www.pceggs.com/
我很肯定的告诉你! 我和你一样
但是不知道你发现没有
先输入www.pceggs.com/login.aspx 再在同一网页输入http://www.pceggs.com/CheckCode.aspx 就可以了看到上次验证码的图片了 不过貌似上次就不再有效了.....我再试试...再想想...
-----------------------------------------------------------------
验证码使用正确才能保证其效果
现在一些稍微大一点的网站doou才用验证码来防止用户通过一些程序自动向网站提交信息,保证网站的安全。
可是,在实践的过程中发现,好多网站在验证码的使用上并不正确,就跟没有验证码一样。
其实,只要我们看看验证码的原理就明白了:
验证码通常是一张图片,是由我们的网站程序通过数据流的方式直接写到客户端浏览器上的。通常服务器端程序会随即生成一定长度的验证码字符串,比如4位的数字,把当前生成的这个数字保存在Session当中,然后生成图片发送到客户端,当客户端提交信息的时候,只要把用户提交的验证码和Session当中保存的验证码一比较就可以了。注意:在比较完之后,一定还要再生成一个验证码,保存在Session当中,这样当下次用户还提交相同的数据的时候就通不过了。道理很简单,谁都明白,不过还是有相当多的网站不是这么做的,这样的话,验证码就只能是个吓唬人的摆设了。
--------------------------------------------------------------------
那个是随手复制了一些 内容 不知道对你有没用下面 我说下我实验的过程 (网址都简写了)
“http://www.pceggs.com/CheckCode.aspx ”=“ /CheckCode.aspx ”其他类似清除所有临时文件 关闭 那个网站后
输入pceggs.com/后回车 显然进入网站主页
点登陆进入 /login.aspx
新建主页(百度首页 反正不是PC蛋蛋)输入 /CheckCode.aspx 回车 网页自动快速刷新了几下后进入 又主页接着 点开后打开网页的 点击登录按钮进入 /login.aspx
在前一个网页 输入/CheckCode.aspx 就可以得到你想要的结果多次尝试后 得出以下3点想法,不知道对你有没有用
1. 要想得到你想要的结果,/CheckCode.aspx必须从/login.aspx 这个登陆网页进入才行 新建一个网页进入/login.aspx 在进入/CheckCode.aspx也可以
2. 在源代码里发现了个 http://www.pceggs.com/logindo.aspx 你可以看看这个和 /login.aspx 的区别
3. 在临时文件里发现 CheckCode.aspx 文件 用记事本打开后前面一半为乱码 (难道是加密?)每次网页刷新后 其大小不一样
感觉 登陆界面只要不刷新 验证码就在本机上 你为什么那么急呢?
主要还是不懂那语言 不知道你想干什么 所以试有些茫然 不知道对你有没有帮助
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
Public Function GetCheckCode() Dim xmlHttp As Object
Dim Pic
Dim PicData As Object Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
Set PicData = CreateObject("Adodb.Stream")
xmlHttp.open "get", "http://www.pceggs.com/VerifyCode_Login.aspx", True
xmlHttp.setRequestHeader "Accept", "*/*"
xmlHttp.setRequestHeader "Referer", "http://www.pceggs.com/nologin.aspx"
xmlHttp.setRequestHeader "Accept-Language", "zh-cn"
xmlHttp.setRequestHeader "Accept-Encoding", "gzip, deflate"
xmlHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.1; .NET CLR 2.0.50727)"
xmlHttp.setRequestHeader "Host", "www.pceggs.com"
xmlHttp.setRequestHeader "Connection", "Keep-Alive"
xmlHttp.send
While xmlHttp.ReadyState <> 4
DoEvents
Wend
Pic = xmlHttp.responseBody
With PicData
.Type = 1
.open
.write Pic
.SaveToFile App.Path & "\CheckCode.jpg", 2
.Cancel
.Close
End With
Set PicData = Nothing
Set xmlHttp = Nothing
P1.Picture = LoadPicture(App.Path & "\CheckCode.jpg")
End Function因为他页面的地址改了。