老天,问个关于idhttp1上传文件到服务器的问题

ocean776 2009-02-06 06:04:32
网址是http://virscan.org/

我想提交文件给它用代码,但是我不知道提交那些参数!

procedure TForm1.Button1Click(Sender: TObject);
var
IdHTTP1: tidhttp;

ResponseStream: TMemoryStream;
strme: Tstringstream;
str: string;
MultiPartFormDataStream: TMsMultiPartFormDataStream;
begin
IdHTTP1 := tidhttp.create(nil);
MultiPartFormDataStream := TMsMultiPartFormDataStream.Create;
ResponseStream := TMemoryStream.Create;
IdHttp1.Request.ContentType := MultiPartFormDataStream.RequestContentType;

// MultiPartFormDataStream.AddFormField('file', 'c:\a.exe');
// MultiPartFormDataStream.AddFormField('upload_button', '上 传');
MultiPartFormDataStream.AddFile('file', 'c:\a.exe', 'multipart/form-data');

MultiPartFormDataStream.PrepareStreamForDispatch;
MultiPartFormDataStream.Position := 0;
//调用idhttp的post方法,第一个参数是用于处理上载form的asp/php等等脚本,第三个是接收脚本执行完成后的返回内容)
IdHTTP1.Post('http://virscan.org/cgi-bin/upload.cgi?sid=36c26870a82dfc385d341551fb8bf720', MultiPartFormDataStream, ResponseStream);

// ResponseStream.SaveToStream(strme);


showmessage(StreamToText(ResponseStream));
MultiPartFormDataStream.Free;
ResponseStream.Free;
end;
...全文
282 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ocean776 2009-02-06
  • 打赏
  • 举报
回复
没有个熟悉html的高人啊
其实很简单的
ocean776 2009-02-06
  • 打赏
  • 举报
回复
痛苦4了
我开始还一位用webbrow做
可谁知道file.value是只读属性无法赋值
用sendmessage成功后,发现程序必须是当前窗体,没有焦点还无效
用idhttp吧,发现表格参数像个密码1样,
n负责
ocean776 2009-02-06
  • 打赏
  • 举报
回复
网站代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>VirSCAN.org-多引擎病毒扫描网 v1.02,当前支持 37 款杀毒引擎</title>
<meta name="keywords" content="病毒,间谍软件,恶意软件,扫描,在线,在线病毒扫描,病毒扫描,上传,劫持,系统劫持,木马, 特络伊,rootkit,垃圾邮件,antivir, avast, avg, bitdefender, clamav, drweb, f-prot, f-secure, fortinet, kaspersky, nod32, norman, virusbuster, panda antivirus, trend micro, norton, symantec, 小红伞,大蜘蛛,冰岛杀毒,飞塔,卡巴斯基,诺曼,熊猫卫士,趋势,诺顿,赛门铁克,迈卡菲,mcafee,感染,在线扫描,病毒扫描,免费在线扫描"/>
<meta name="description" content="免费的多引擎可疑文件扫描服务,可以通过多个引擎检测单一的可疑、病毒、木马、恶意等程序。"/>
<link href="/style.css" rel="stylesheet" type="text/css" media="screen" />
<link href="/css/text-overflow.css" rel="stylesheet" type="text/css" media="screen" />
<script language="javascript" type="text/javascript">
var path_to_ini_status_script = "/cgi-bin/getstatus.cgi?sid=36c26870a82dfc385d341551fb8bf720&lang=zh-cn";
var progress_bar_width = "540";
var scanid = "36c26870a82dfc385d341551fb8bf720";
var md5 = "36c26870a82dfc385d341551fb8bf720";
</script>
<script language="javascript" type="text/javascript" src="/js.php?js=upload.js"></script>
<script language="javascript" type="text/javascript" src="/js.php?js=load.js"></script>
<script language="javascript" type="text/javascript" src="/js.php?js=sorttable.js"></script>
</head>
<body onload="iniFilePage();document.getElementById('index').className='current';init_load();" id='xbody'>
<!-- top -->
<div id="top">
<div id="language" style="text-align:left">
选择语言<br/>
<select name="selectlang" style="width:100px" onchange="DelCookie('lang');SetCookie('lang',this.options[this.selectedIndex].value,315360000,'/','.virscan.org');window.location.href='/';">
<option label="English" value="en">English</option>
<option label="简体中文" value="zh-cn" selected="selected">简体中文</option>
<option label="繁體中文" value="zh-tw">繁體中文</option>
<option label="한국어" value="ko">한국어</option>
<option label="日本語" value="ja">日本語</option>
<option label="Français" value="fr">Français</option>
<option label="Deutsch" value="de">Deutsch</option>
<option label="česky" value="cs">česky</option>
<option label="Portuguese Brazil" value="pt-br">Portuguese Brazil</option>
<option label="Русский" value="ru">Русский</option>
<option label="українська" value="uk">українська</option>
<option label="Nederlands" value="nl">Nederlands</option>
<option label="Türkçe" value="tr">Türkçe</option>
<option label="ภาษาไทย" value="th">ภาษาไทย</option>
<option label="Polski" value="pl">Polski</option>
<option label="Español (Latin America)" value="es-ar">Español (Latin America)</option>

</select>
<br/><br/>
服务器负载<br/>
<img id="load" src="/images/load/1.gif" alt="Server Load" border="0" />
</div>
<div>
<div id="logo"><a href="http://www.virscan.org" title="VirSCAN"><img src="/images/logo.gif" alt="VirSCAN" border="0" longdesc="http://www.virscan.org" /></a></div>
<div id="upload">
<form name="form_upload" target="upload_iframe" method="post" enctype="multipart/form-data" action="/cgi-bin/upload.cgi?sid=36c26870a82dfc385d341551fb8bf720&lang=zh-cn" style="margin: 0px; padding: 0px;">
<noscript><input type="hidden" name="no_script" value="1"/></noscript>

<div>
可疑文件上传 <input type="file" name="file" size="20" onkeypress="return handleKey(event)" value="" class="btn"/>
  <input type="button" id="upload_button" name="upload_button" value="上 传" onclick="uploadFiles();" class="btn"/>
<br/>
1, 你可以上传任何文件,但是文件的尺寸不能超过10兆。<br/>2, 我们支持RAR或ZIP格式的自动解压缩,但压缩文件中不能包含超过10个文件。<br/>3, 我们可以识别并检测密码为 'infected' 或 'virus' 的压缩文件包。
</div>
</form>
<!-- End Upload Form -->
<br/>
</div>

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧