通过修改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 相关文章推荐
语义化 H1 标签
Jan 14 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
JQuery读取XML文件数据并显示的实现代码
Dec 16 Javascript
8个实用的jQuery技巧
Mar 04 Javascript
jQuery插件实现适用于移动端的地址选择器
Feb 18 Javascript
jQuery中text() val()和html()的区别实例详解
Jun 28 Javascript
jQuery实现立体式数字滚动条增加效果
Dec 21 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
JS 封装父页面子页面交互接口的实例代码
Jun 25 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
vue实现员工信息录入功能
Jun 11 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中PHPMailer发邮件
2017/12/13 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
你有必要知道的25个JavaScript面试题
2015/12/29 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
详解webpack 入门与解析
2018/04/09 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
JS实现随机抽选获奖者
2019/11/07 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
Python与R语言的简要对比
2017/11/14 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python urllib3软件包的使用说明
2020/11/18 Python
美术师范毕业生自荐信
2013/11/16 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
在校实习生求职信
2014/06/18 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
婚前保证书范文
2015/02/28 职场文书
道歉信怎么写
2015/05/12 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
2015年除四害工作总结
2015/07/23 职场文书
html5表单的required属性使用
2021/07/07 HTML / CSS
Python中Selenium对Cookie的操作方法
2021/07/09 Python