化妆品中防腐剂的危害:VB+HTTP数据包详解:QQ空间留言工具1

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 19:43:02
     关于VB在网页通讯交互,很多人都想了解关于这方面的内容,可惜网上的资料实在少得可怜(我就没有发现),好东西大家都袖珍自蔽的话,那就没有价值,再好的东西也是烂泥。其实我之前在魅枫博客也已经写过相关的文章,可是博客因为特殊原因现在并不对外公开了,所以我把文章再次写到这里来。

     什么是数据包?

     数据包,又称作封包。简单的说,你上网打开网页,这个简单的动作,就是你先发送数据包给网站,它接收到了之后,根据你发送的数据包的IP地址,返回给你网页的数据包,也就是说,网页的浏览,实际上就是数据包的交换。以上蓝色部分是百度百科上面对数据包的诠释,有朋友可能看不明白,那么我就顺着这个解释,来举一个经典的“老王借钱”例子:

     1、隔壁的老王向你借钱。
     2、接收到老王借钱的请求。
     3、检查自己的腰包是否有钱。
     4、是借还是不借?
     5、把结果告诉老王。老王就会作出相关的反应(借的话他就爽,不借他当然就不爽了~)。

     其实上面只是一个再也简单不过的借钱行为,不过如果我们把它套用在客户端与网页服务端的通讯流程的话,会发现其实两者有着异曲同工之妙:

     1、老王相当于客户端,而借钱也就相当于一个请求。钱的数量,就相当于请求中的参数。老王向你借钱,我们可以把这一步称为POST,就是把借钱这个请求传递给你(服务端)。
     2、你,就相当于服务端,而这个钱,说白了,就是客户端传递过来的参数。你接到老王发出的借钱请求,这一步叫做响应。
     3、检查自己的腰包是否有钱,就相当于服务器验证用户的请求是否合法。比如一个网上支付系统,用户请求要支出1000块钱,然后用户就会把1000块钱这个参数传递到服务端,服务端当然就得验证一下用户的钱包里面是否有1000块钱,如果有的话就通过,没有的话当然就返回错误信息了。这是验证/校验数据。
     4、当第四步过后,如果腰包有钱,而你又情愿借给老王,此时,就相当于服务端给客户端返回一个信息,是借(True)。反之,就是不借(False)。这一步叫做返回/反馈。
     5、老王接到你给他回的信息,就会根据结果的不同而产生响应的动作。响应你动作的这一方法称为GET。

     这样一来,相信你对服务端和客户端的基本通讯过程大家都清楚了。但是,造成这一过程的起源是啥?是钱!我不得不说钱是万恶的(这也让我说得通,YY下)
     服务端和客户端之间首要的通讯条件当然就是必须可以联网。你说如果老王是死人的话,怎么向你借钱,对吧?不过要是真的有死人向你借钱的话……离我远点。其实这一个“借钱”的过程,钱充当着比较重要的角色,一个数据包里面包含了很多参数,参数也会有相应的值。而“钱”,在这里就充当着一个数据包参数的角色,钱的数量,就是这个数据包参数的值。

     到这里,我们就开始本课题的深究吧,因个人水平有限,文中难免会有不妥之处,欢迎大牛拍砖。

     经过前面的说明(纯属瞎扯),相信大家对数据包也有一个模糊的概念了,当然,这只是相对于从未接触过这一方面内容的新手而言。下一章我们来研究一下如何去抓包,并来编写一个QQ空间的留言工具来完成这一个课题的学习。


     数据包有什么用?

     数据包的交互是最底层的网络协议通讯,利用数据包,我们完全可以模拟客户机和服务端通讯的过程。比如我们需要编写一个帐号注册器,如果用传统的模拟网页表填写的方式去实现的话,这样虽然比人手工操作的方法要快,但也还需要载入一个网页,速度还是逊色的。但如果用数据包去实现的话,就相当于只把一系列的字符串传递到目标服务器即可。载入一个网页,包含了图片、表单等元素,大一点的话起码得要下载几百KB的数据,但数据包,最多也就几KB,如果客户机和服务器的网络都正常的话,提交数据包到服务器几乎就是一瞬间的事情。