HTTP应用探险
日期:2004年10月3日10:56:50>>>>lurex版权所有
目标:
1.能成功向网页提交POST数据,主要实现自动登陆、文章发表的功能。
2.做一个类似于网络爬虫的东东动态从网络上抓东西下来。
实现一:成功POST 网页数据
实验一.对某一表单全英文填写,然后POST到服务器。
表单内容:两个文本输入框title、art,服务器处理后,会把输入内容保存并显示在页面上。
----代码开始----
<?php $title=$_POST[title];
$art=$_POST[art];
$fd=fopen("cc.txt",w);
fwrite($fd,$title . $art);
fclose($fd);
?>
<?php echo $title;?>
<?php echo $art; ?><form name="form1" method="post" action="index.php">
<p>
<input name="title" type="text" id="title">
</p>
<p>
<input name="art" type="text" id="art">
<input type="submit" name="Submit" value="提交">
</p>
</form>
———代码结束------
新建一工程添加IDHTTP、MEMO、BUTTON
----------代码开始-----------
procedure TForm1.Button1Click(Sender: TObject);
var
Response: TStringStream;
postList: TStrings;
begin
Response := TStringStream.Create('');
postList := TStringList.Create;
try
postList.Add('title=myfirstwork');
postList.Add('art=helloevryone');
IdHTTP1.Post('http://192.9.200.28/index.php', postList, Response);
finally
Memo1.Lines.Text := Response.DataString;
Response.Free;
postList.Free;
end;
--------代码结束---------
结果可以发现:cc.txt文件内容改变了,自动发送英文表单成功。
(注:当我把提交内容换成中文,并加入空格,发现照样可以提交成功,原来POST内容和URL参数不同,不必再进行字符转换和替代)