通过修改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 相关文章推荐
html读出文本文件内容
Jan 22 Javascript
一些不错的js函数ajax
Aug 20 Javascript
js 效率组装字符串 StringBuffer
Dec 23 Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 Javascript
图解Sublime Text3使用技巧
Dec 21 Javascript
JavaScript图像延迟加载库Echo.js
Apr 05 Javascript
使用React实现轮播效果组件示例代码
Sep 05 Javascript
微信小程序自定义toast弹窗效果的实现代码
Nov 15 Javascript
Vue触发式全局组件构建的方法
Nov 28 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 Javascript
js prototype深入理解及应用实例分析
Nov 25 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
2016/06/13 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
react 国际化的实现代码示例
2018/09/14 Javascript
js事件on动态绑定数据,绑定多个事件的方法
2018/09/15 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Django卸载之后重新安装的方法
2017/03/15 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
python opencv之SIFT算法示例
2018/02/24 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python 整数越界问题详解
2019/06/27 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
大学活动邀请函
2014/01/28 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
运动会班级口号
2014/06/09 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
手写实现JS中的new
2021/11/07 Javascript
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript