通过修改referer下载文件的方法


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> 
Javascript 相关文章推荐
学习js所必须要知道的一些
Mar 07 Javascript
node.js中的fs.fsync方法使用说明
Dec 15 Javascript
JavaScript访问字符串中单个字符的两种方法
Jul 03 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
JavaScript Promise 用法
Jun 14 Javascript
AngularJS中$apply方法和$watch方法用法总结
Dec 13 Javascript
详解微信小程序——自定义圆形进度条
Dec 29 Javascript
JQuery获取鼠标进入和离开容器的方向
Dec 29 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
Sep 28 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
Jul 23 Javascript
VScode格式化ESlint方法(最全最好用方法)
Sep 10 Javascript
JS启动应用程序的一个简单例子
May 11 #Javascript
一段利用WSH获取登录时间的jscript代码
May 11 #Javascript
一段利用WSH修改和查看IP配置的代码
May 11 #Javascript
JS处理VBArray的函数使用说明
May 11 #Javascript
获取当前网页document.url location.href区别总结
May 10 #Javascript
用javascript获取textarea中的光标位置
May 06 #Javascript
用js实现下载远程文件并保存在本地的脚本
May 06 #Javascript
You might like
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
2014/02/07 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
jquery使用Cookie和JSON记录用户最近浏览历史
2016/04/19 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
Angular实现的进度条功能示例
2018/02/18 Javascript
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
jQuery开发仿QQ版音乐播放器
2020/07/10 jQuery
python实现nao机器人手臂动作控制
2019/04/29 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
python跨文件使用全局变量的实现
2020/11/17 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
Ramy Brook官网:美国现代女装品牌
2019/06/18 全球购物
高级护理专业毕业生推荐信
2013/12/25 职场文书
自我介绍演讲稿范文
2014/08/21 职场文书
经理岗位职责范本
2015/04/15 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书