| 网站首页 | 文章中心 | 下载中心 | 编程世界论坛 | 图片中心 | 留言板 | 发布源码 | 
您现在的位置: 编程世界 >> 文章中心 >> VB文章 >> VB网络编程 >> 文章正文 用户登录 新用户注册
winsock控件和inet控件发送http协议数据包       ★★★★★ 【字体:
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条。评论内容只代表网友观点,与本站立场无关!)