Posted in Javascript onMay 11, 2008
GetFile.wsc
<?xml version="1.0" encoding="gb2312"?> <component> <?component error="true" debug="true"?> <public> <property name="Referer" /> <property name="Content" /> <property name="Data" /> <method name="GetFile"> <parameter name="URL" /> </method> <method name="Save"> <parameter name="Path" /> </method> </public> <implements type="Behavior"> <event name="ondowncomplete" /> </implements> <object progid="Microsoft.XmlHttp" id="Http" /> <script language="javascript"> <![CDATA[ var Referer, Content, Data; var Stream = new ActiveXObject("ADODB.Stream"); Stream.Type = 1; function onReady() { if(Http.readyState == 4) { Content = Http.responseText; Data = Http.responseBody; fireEvent("ondowncomplete"); Http.abort(); } } function GetFile(URL) { Http.onreadystatechange = onReady; Http.open("GET", URL, true, "", ""); if(Referer) Http.setRequestHeader("Referer", Referer); Http.send(null); } function Save(Path) { Stream.Open(); Stream.Write(Data); Stream.SaveToFile(Path, 2); Stream.Close(); } ]]> </script> </component>
test.hta
<html><head><script> var Down = document.createElement("Comment"); document.lastChild.lastChild.appendChild(Down); Down.style.behavior="url(GetFile.wsc)"; Down.ondowncomplete = function() { //document.write(Down.Content); Down.Save(SaveTo.value); Go.disabled=0; alert("OK"); } function GetFile() { Go.disabled = 1; Down.Referer = Referer.value; Down.GetFile(URL.value); } </script> </head><body> URL: <input id="URL" size="50" value="http://www.booksky.biz/SendFile.aspx?FileID=15531"><br> Referer: <input name="Referer" size="40" value="http://www.booksky.biz"><br> SaveTo: <input name="SaveTo" size="40" value="D:\Test.gif"><br> <input id="Go" type=button value="下载" onclick="GetFile()"> </body></html>
通过修改referer下载文件的方法
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@