| | 网站首页 | 文章中心 | 下载中心 | 编程世界论坛 | 图片中心 | 留言板 | 发布源码 | | |
![]() |
![]() |
| 您现在的位置: 编程世界 >> 文章中心 >> VB文章 >> VB网络编程 >> 文章正文 |
|
|||||
| winsock控件和inet控件发送http协议数据包解决无法发送cookie问题 | |||||
作者:三毛 文章来源:三毛博客 点击数: 更新时间:2008-4-20 ![]() |
|||||
|
本文主要讲解用winsock控件和Inet控件发送http请求信息。核心是对cookie的处理和操作。 http协议,自己组建http协议的数据包,然后用winsock将这个http数据包发送出去。其中包括GET方式和POST方式。要注意的是在请求字段里面如果有 Accept-Encoding: gzip, deflate 这句是一个要求服务器压缩数据的字段,如果加上这句,那么返回的数据中除了头以外的其它数据是经过压缩的(压缩格式未知,我曾经把数据保存成zip文件然后用winrar打开,但是失败) winsock发送http数据包遇到了问题——cookie。无法解析cookie。cookie的格式很奇怪。好像是变量名和变量值以及到期时间的分割不是很明显。而且我也没有找到合适的说明文档,所以我无法设置cookie。而无法设置cookie就无法维持一个http的登录状态。郁闷…… 山穷水尽疑无路,柳暗花明又一村。正当winsock控件无能为力的时候,又将注意力转移到了另一个控件上——inet控件又名Internet Transfer Contor控件。这个控件可以自动设置cookie,只要把要发送的主体数据赋值给execute方法。就可以直接发送,而所有的http头是inet控件自己生成的,当然也包括cookie头。这样问题就迎刃而解了。 比如说,想要登录一个网站,例如本站www.ibiancheng.cn,就分析这个网站的登录表单,直接将表单里的元素以a=1&b=2的格式做POST提交。之后所以得cookie(包括session,因为session就是用临时cookie保存的)就已经都设置好了。你可以再用GET方式取得一个网页的html代码看看。这个html应该就是已登录的了。 还有一些其它的问题,比如https协议等。这里就不说了。 总之,winsock控件和inet控件各有千秋,而我还是对winsock控件熟,因为以前用过很多。 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| VB所有语句总结(包括简单功 VB Access数据库保存数据范例 VB注册系统全局快捷键 VB Inet控件(又叫Internet T VB实现自动取得服务器IP并连 VB做曲线拟合 VB修改窗体的系统菜单 vb随机数之Rnd 函数和Random VB实现自我注册控件,即使使用 VB取得本机CPU 序列号 |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | | ||||||||||
![]() |
|
|||||||||