使用ClientSocket控件实现CSDN论坛帖子的自动回复[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 hnxyy 的 blog

                       使用clientsocket控件实现csdn论坛帖子的自动回复

    写此文章的目的不是要鼓励大家恶意灌水,而是要了解http头信息传输的机制及cookie的一些知识,讲之前大家先看一下下面我在csdn所截获的回复帖子的http包信息内容:


typestate=1&point=0&topicname=%b7%a2%cc%f9%b2%e2%ca%d4%a3%ac%cf%d0%c8%cb%ce%f0%bd%f8%a3%a1&room=1404&content=rt

//point:分数0  topicname:文章标题:发贴测试,闲人勿进!是经过unicode编码的   content:内容: rt  上面是传递的参数

10.104.9.30(1062)->          //发送方ip及端口

10.104.9.30(80)                //接受方ip及端口
post /expert/postnew_sql.asp http/1.1           //接受页面及http版本
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */* 
referer: http://expert.csdn.net/expert/postnew.asp?room=1404        //提交的地址
accept-language: zh-cn     //中文语言
content-type: application/x-www-form-urlencoded
accept-encoding: gzip, deflate            //接受压缩格式类型
user-agent: mozilla/4.0 (compatible; msie 6.0; windows nt 5.0)      //用户环境
host: expert.csdn.net                       //主机名称
content-length: 111                       //长度:111
connection: keep-alive                  //保持激活状态
cache-control: no-cache               //没有使用缓存
cookie: remenber=0; aspsessionidaaatsbbs=pohkdgibfhampecbcdhihbcd; room=0; username=dashi888; speaknum=0; speaktime=2003%2d5%2d15+11%3a56%3a34; adminok=true; userid=487815; info1=0; m%5ftype=1; aszx=0a727a0323230cd62e4cf5326besba01; mid=476831      //cookie的内容

注:用户的cookie是经过32位加密的,我们要先构造自己要发送的http包信息

截图如下:

下面是代码部分:

unit submit;

interface

uses
  windows, messages, sysutils, classes, graphics, controls, forms, dialogs,
  scktcomp, nmurl, stdctrls, comctrls, extctrls;

type
  tform1 = class(tform)
    url: tnmurl;
    clientsocket1: tclientsocket;
    label1: tlabel;
    label2: tlabel;
    label3: tlabel;
    edit1: tedit;
    edit2: tedit;
    edit3: tedit;
    label4: tlabel;
    edit4: tedit;
    label5: tlabel;
    button1: tbutton;
    button2: tbutton;
    statusbar1: tstatusbar;
    memo2: tmemo;
    memo1: tmemo;
    label6: tlabel;
    label7: tlabel;
    label8: tlabel;
    edit5: tedit;
    edit6: tedit;
    label9: tlabel;
    edit7: tedit;
    button3: tbutton;
    timer1: ttimer;
    button4: tbutton;
    timer2: ttimer;
    button5: tbutton;
    procedure button1click(sender: tobject);
    procedure clientsocket1error(sender: tobject; socket: tcustomwinsocket;
      errorevent: terrorevent; var errorcode: integer);
    procedure clientsocket1read(sender: tobject; socket: tcustomwinsocket);
    procedure button2click(sender: tobject);
    procedure edit4keypress(sender: tobject; var key: char);
    procedure edit5keypress(sender: tobject; var key: char);
    procedure edit6keypress(sender: tobject; var key: char);
    procedure edit7keypress(sender: tobject; var key: char);
    procedure timer1timer(sender: tobject);
    procedure button3click(sender: tobject);
    procedure button4click(sender: tobject);
    procedure timer2timer(sender: tobject);
    procedure clientsocket1connect(sender: tobject;

本文关键:ClientSocket,CSDN,自动回复,灌水机,灌水,http,http协议
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top