ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wcymiss

[原创] 不懂html也来学网抓(xmlhttp/winhttp+fiddler)

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-11-26 20:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:网页交互
wcymiss 发表于 2014-11-26 20:08
SendData里少了两个参数:
&ctl00%24ContentPlaceHolder1%24ImageButton1.x=117'数字在某个范围里可以任 ...

谢谢吴老师指点,我再试一试

TA的精华主题

TA的得分主题

发表于 2014-11-26 20:51 | 显示全部楼层
pfysw 发表于 2014-11-26 19:46
大师,帮我抓一下有单选框的数据,谢谢啦
http://guess.win007.com/users/basket/userguess.aspx?u=1039 ...

虽然看不懂,但是我觉得问题的关键不是抓包吧,是怎么处理单选框的问题,就是.send后面到底怎么对单选框进行操作,上面例子中有对下拉菜单的处理,但好像不一样

点评

用了xmlhttp/winhttp你就不需要考虑单选框或下拉菜单、按钮点击等等的操作了。  发表于 2014-11-27 08:58

TA的精华主题

TA的得分主题

发表于 2014-11-26 21:03 | 显示全部楼层
wcymiss 发表于 2014-11-26 20:08
SendData里少了两个参数:
&ctl00%24ContentPlaceHolder1%24ImageButton1.x=117'数字在某个范围里可以任 ...

加上这两个参数还是不行,换成WinHttp也不行,看来这个登陆有些难

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-26 21:53 | 显示全部楼层
本帖最后由 wcymiss 于 2014-11-26 21:54 编辑
renahu 发表于 2014-11-26 21:03
加上这两个参数还是不行,换成WinHttp也不行,看来这个登陆有些难


可以登录的,只是你对登录的判定有问题。最后的responsetext里包含“欢迎您”字符串的话即为登录。

Post成功后的这个网页是一个302重定向的网页,你用了xmlhttp对象,会自动重定向到新的网页,所以你用getallresponseheaders是无法获取post那个网页的cookie的。用了xmlhttp就不要进行任何设置或读取cookie的操作。

如果要用winhttp,那就不能直接用insert(url)的方法获取图片,而要用winhttp发送获取图片的请求,然后将responsebody转为本地图片文件后插入工作表。

验证码图片的网页的cookie必须与你Post网页的cookie保持一致。insert url可以共享xmlhttp的cookie,所以你用xmlhttp对象登录时,图片可以insert url来获取;用winhttp时,insert url的方法无法与winhttp共享cookie,所以这时要在同一个winhttp对象里获取图片才能传送正确的验证码。

如果你要获取post那个网页的cookie,必须使用winhttp对象然后getallresponseheaders,且winhttp的重定向设置option(6)=false

TA的精华主题

TA的得分主题

发表于 2014-11-26 22:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-11-26 22:54 | 显示全部楼层
wcymiss 发表于 2014-11-26 21:53
可以登录的,只是你对登录的判定有问题。最后的responsetext里包含“欢迎您”字符串的话即为登录。

...

加上两个参数终于看见“欢迎您”啦!,原来因为手误在我加入的两个参数中无意中多了个不需要的字符,看来这两个参数还真有用,我想这两个肯定是坐标应该没用,就省了,谢谢吴老师的指点,看来要在实战中活学活用学到的知识才能不断提高

TA的精华主题

TA的得分主题

发表于 2014-11-26 23:01 | 显示全部楼层
renahu 发表于 2014-11-26 22:54
加上两个参数终于看见“欢迎您”啦!,原来因为手误在我加入的两个参数中无意中多了个不需要的字符,看来 ...

多了个什么不需要的字符?

TA的精华主题

TA的得分主题

发表于 2014-11-26 23:12 | 显示全部楼层
wcymiss 发表于 2014-11-26 21:53
可以登录的,只是你对登录的判定有问题。最后的responsetext里包含“欢迎您”字符串的话即为登录。

...

吴老师,看到“欢迎您”字符串的话即为登录,为什么我刷新网页,左上角怎么还显示 “游客欢迎您”而不是“vbatest 欢迎您”? 另外我对用winhttp获取图片很感兴趣,如何用winhttp发送获取图片的请求,然后将responsebody转为本地图片文件后插入工作表呢?老师能否再进一步指点

点评

获取图片,看帖子里“处理数据 -----下载文件”那层楼。  发表于 2014-11-27 09:06
之前你问163邮箱登录问题的时候就跟你说过,浏览器未必能获取到xmlhttp对象的cookie。你代码登录了不等于你的浏览器也是登录状态。  发表于 2014-11-27 09:06

TA的精华主题

TA的得分主题

发表于 2014-11-26 23:13 | 显示全部楼层
coby001 发表于 2014-11-26 23:01
多了个什么不需要的字符?

嗨,不知道怎么了,手一哆嗦,多了一个   ’

TA的精华主题

TA的得分主题

发表于 2014-11-27 09:14 | 显示全部楼层
renahu 发表于 2014-11-26 23:12
吴老师,看到“欢迎您”字符串的话即为登录,为什么我刷新网页,左上角怎么还显示 “游客欢迎您”而不是“ ...

谢谢吴老师指点,可能是我上一个图书网比较简单吧,那里代码登和浏览器登录是同步的,是否登陆上比较直观

老师,还想问个问题:
ActiveSheet.Pictures.Insert "http://www.rtshutu.com/basedata/format/release/aspx/VerifyCode.aspx"
这个命令,如何设置图片的名称和大小?一来图片太小,二来我想登陆完了,就按名称删掉,而不是按shape的序号删?

点评

可以在本地窗口里查看图片对象的各个属性。属性的解释请查看相关的帮助文档。  发表于 2014-11-27 09:27
图片对象赋值给变量:set pic = activesheet.pictures.insert(....) 。删除就用:pic.delete  发表于 2014-11-27 09:24
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 08:51 , Processed in 0.045236 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表