前段时间,仔细看了一个HTTP协议于是就写了这样一个自动评论的测试程序,下面是我本次学习实验的学习笔记:

一、准备工作:

1、本机环境:Windows XP SP3、ADSL 10M光纤

2、开发工具:WildPackets OmniPeek V5.1.4

Visual C++ 6.0

Netpas八匹马免费VPN代理(避免查封IP)

FlexEdit V2.3.1871 (临时保持文本)

3、网页程序: LBS Version 2.0.313

二、分析数据包:

1、打开LBS V2.0.313博客程序,可以看到如下评论处(先找找没有验证码的吧!)

2、设置OmniPeek 过滤类型:

3、点击开始抓包后,先手动评论一次即可捕获到数据包,有用的实际只有如下红色两条:

4、 实际原始数据包内容:

5、被OmniPeek解析后,查看如下内容:

6、只看前三个与后三个字段,我们可以分析得到,该评论实际上就是

POST  /blog/comment/asp?act=save&logid=3567  HTTP/1.1

e_ubb=true&e_autourl=true&e_smilies=true&comm_username=%E5%A4%A9%E4%BD%

BF&comm_password=&message=www.******.net.cn

分析完毕,于是就开始准备用SOCKET套接字POST数据包啦!

/************************************************************************/
/* 利用SOCKET套接字,实现自动POST表单及评论留言
/*
/* by Koma 2009.9.6 0:30
/* http://blog.csdn.net/wangningyu
/************************************************************************/
#include "stdafx.h"
#include "stdio.h"
#include "winsock2.h"
#pragma   comment(lib,"ws2_32.lib")      int main(int argc, char* argv[])
{   SOCKADDR_IN saServer;   LPHOSTENT   lphostent;   WSADATA     wsadata;   SOCKET      hsocket;   int     nRet;   char*   host_name="www.******.com";   char*   req=   "POST /blog/comment.asp?act=save&logid=3560 HTTP/1.0\r\n"  "Accept:   image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/QVOD, application/QVOD, */*\r\n"  "Referer:   http://www.******.com/blog/article.asp?id=3560\r\n"  "Accept-Language:   zh-cn\r\n"  "Content-Type:   application/x-www-form-urlencoded\r\n"  "Accept-Encoding:   gzip, deflate\r\n"  "User-Agent:   Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; POTU(RR:28031409:0:5497353); SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; CIBA)\r\n"      "Host:   www.******.com\r\n"  "Content-Length:   114\r\n"  "Connection:   Keep-Alive\r\n"  "Cookie:   babyhashkey=; babyuserid=; ASPSESSIONIDACBRSQBC=AFHPMPGBBCGPDDDNEDKGJHEJ\r\n\r\n"  "e_ubb=true&e_autourl=true&e_smilies=true&comm_username=%E5%A4%A9%E4%BD%BF&comm_password=&message=www.******.net.cn";     // 初始化套接字   if(WSAStartup(MAKEWORD(2,2),&wsadata))      printf("初始化SOCKET出错!");   lphostent=gethostbyname(host_name);      if(lphostent==NULL)      printf("lphostent为空!");   hsocket   =   socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);      saServer.sin_family = AF_INET;      saServer.sin_port = htons(80);      saServer.sin_addr = *((LPIN_ADDR)*lphostent->h_addr_list);   // 利用SOCKET连接   nRet = connect(hsocket,(LPSOCKADDR)&saServer,sizeof(SOCKADDR_IN));      if(nRet == SOCKET_ERROR)      {      printf("建立连接时出错!");      closesocket(hsocket);      return 0;      }   // 利用SOCKET发送   nRet = send(hsocket,req,strlen(req),0);   if(nRet==SOCKET_ERROR)   {   printf("发送数据包时出错!");   closesocket(hsocket);   }   char   Dest[3000];      nRet=1;      while(nRet>0)      {   // 接收返回数据包   nRet=recv(hsocket,(LPSTR)Dest,sizeof(Dest),0);      if(nRet>0)      Dest[nRet]=0;      else      Dest[0]=0;   // 显示返回数据包的大小、内容   printf("\nReceived   bytes:%d\n",nRet);      printf("Result:\n%s",Dest);      }   return 0;
}

转载于:https://www.cnblogs.com/rogee/archive/2010/10/21/1857645.html

VC提交网页表单-自动评论留言(1)相关推荐

  1. Delphi自动提交网页表单和获取框架网页源码

    这两个问题的实现原理其实是差不多的,所以放在一起介绍,单元MSHtml封装了我们需要的功能. 首先,新建一个DELPHI工程,在USES部分添加MSHtml单元的引用. 然后,在窗体上放置一个TWeb ...

  2. C#技巧:网页表单自动填写技术

    C#技巧:网页表单自动填写技术 var ie=Wscript.createobject("InternetExplorer.Application"); var args = Ws ...

  3. vc遍历网页表单并自动填写提交

    1.独立代码 //-----------开始---------------------// #include <atlbase.h> #include <Mshtml.h> # ...

  4. python自动提交网页表单_python自动提交表单数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. 网页表单文本框的自动填写(四种方法)

    随着应用系统从客户端+服务器模式,逐渐发展成浏览器+服务器模式.越来越多的操作是基于浏览器来完成的,在输入数据时可以方便的使用批量操作工具,提高工作效率. 在使用浏览器自动填写网页表单时,遇到最多的就 ...

  6. 自动将Excel文件中的数据批量填写到网页表单

    把Excel表格内容录入到网页表单,只需要设置表单输入框与Excel字段间的对应关系就可以了.一般按以下几个步骤操作: 1.先打开测试的表单看一下,并在木头浏览器(MutouBrowser)主窗口中, ...

  7. 网站开发之MyEclipse简单实现JSP网页表单提交及传递值

    本文主要是作者<中小型网站开发与设计>课程的内容,非常基础的文章,主要是指导学生学会用MyEclipse实现JSP网页表单提交及传递参数.希望大家喜欢这篇文章,基础文章,不喜勿喷~ PS: ...

  8. 怎样控制键盘按键自动填写网页表单

    浏览器中使用模拟键盘按键填写网页表单,不但可以完成数据输入,输入时还能真实地触发键盘元素绑定的键盘事件. 打开木头浏览器的工具菜单,进入项目管理容器,创建"填写内容"步骤,并打开百 ...

  9. word表格导出html代码,(网页源代码中的表格数据怎么导出excel)如何将把从WORD、EXCEL中复制的内容转换成HTML源代码,再通过网页表单提交上传到数据库?...

    如何将ASP页面中的表格生成一个Excel表,求源码 '给你个例子吧.保存为 asp文件看看.具体就在第一句. New Page 1PJ计画 第版 案件No 案件名 主门 顾客 PJ责任者 営业担当 ...

最新文章

  1. (Alan Murta)编制的多边形集合运算软件包(general polygon clipping library,简称GPC)
  2. 使用Palette类提取图片的颜色信息
  3. Linux下重要目录功能介绍
  4. python+OpenCV图像处理(六)图像平滑与滤波
  5. oracle11g memory_target,Oracle11g启动报:ORA-00845: MEMORY_TARGET not supported on this system
  6. 阿里腾讯前端一面小结
  7. java 面试题分析
  8. 百度贴吧 “只看某人” 小工具
  9. 物理学的过去、现在与未来
  10. java se 与j2se_javaSE和 j2SE的区别?
  11. PS画实线、虚线箭头
  12. php计算众数,C++算法代码——众数
  13. Android 显示文字超过指定长度部分使用省略号表示
  14. 2020年中高级Android面试秘籍(Android基础篇)
  15. 区块链技术应用将迎来多场景布局
  16. Appium+夜神模拟器模拟人为操作
  17. ARM工控主板LS1012A
  18. 连续微小线段速度前瞻规划算法
  19. 基于STM32开发可燃气体智慧检测系统
  20. 【历史上的今天】4 月 7 日:IBM System/360 问世;以太网的发明者诞生;第一个 RFC 文档发布

热门文章

  1. eNSP的安装(华为网络篇 )
  2. 奇葩公司按代码行数算工资,员工一个月提成2.6万遭开除
  3. 【C生万物】 结构体篇
  4. java计算机毕业设计高校后勤保修系统(附源码、数据库)
  5. XCode快捷键速查壁纸
  6. Python简单爬虫入门-爬取链家租房网上的租房信息
  7. adb 输入回车命令_adb命令模拟按键输入keycode
  8. 在html中加入一个动态图片背景音乐,如何插入背景音乐和背景图片(附HTML语法教程地址)...
  9. python3多行输入字符串_详解Python3 定义一个跨越多行的字符串的多种方法
  10. Matlab读取视频文件