-
idm显示您正在使用一个假冒的序列号_IDM下载器:站点抓取相关设置介绍
2021-01-03 19:27:00Internet Download Manager(简称IDM)的站点抓取功能不仅可以下载被过滤器指定所需文件,例如一个站点的所有图片,或者一个站点的所有音频,也可以下载站点的子集,映射整个站点脱机浏览。站点抓取需要有一套预定义...Internet Download Manager(简称IDM)的站点抓取功能不仅可以下载被过滤器指定所需文件,例如一个站点的所有图片,或者一个站点的所有音频,也可以下载站点的子集,映射整个站点脱机浏览。
站点抓取需要有一套预定义的方案设置,可以点击菜单栏上站点抓取图标,进行创建方案。
抓取方案仅需要四步向导即可完成,确定从何处下载文件。抓取器也会探测网页中需要过滤内容和要下载的文件。当方案创建完成之后,IDM便开始进行探测文件。
图1:IDM抓取方案 如上图所示,IDM抓取页面有一个工具栏对话框,所有的文件在该页面中进行显示,并且按照树状显示站点的结构。
IDM抓取页面工具栏的按钮的:“开始探测”,“停止探测”,“全部选择”,“全部不选”,“开始下载选中文件”,“停止下载选取文件”,“将选取文件添加到IDM主列表和下载列队中”,“刷新全部”,“为方案制定计划”,“显示抓取统计”。
图2:IDM对话框工具栏 IDM站点抓取文件被下载完成,可以选择文件右键单击,弹出菜单中选择打开或者文件夹或者属性的内容进行查看。“属性”打开对话框,可以选择保存文件的文件名,或者是文件的URL引用到剪贴板。
图3:文件打开 工具栏中“显示抓取统计”按钮,可以打开IDM抓取方案统计信息窗口。而且当某个运行方案抓取的时候,窗口也会显示在前端。
图4:抓取显示窗口 可以指定同时探测文件数量和同时下载的的文件数量,通过站点抓取设置对话框进行设置。
图5:站点抓取设置 IDM抓取文件默认是从IE缓存中查找抓取的,如果不想使用Internet Explorer,就可以关闭该选项。
工具栏中有个小闹钟的图标是用来制定计划,不过制定计划需要先保存这个方案,然后点击这个按钮之后可以进行创建计划,可以选择下载的类型,下载动作,还有下载的时间。
图6:制定计划时间 还可以指定下载完成的操作,比如下载完成后断开连接、退出IDM或者关闭计算机,根据自己的需要选择合适的复选框勾选上即可。
-
设置a标签的download属性实现下载功能
2020-07-23 23:07:27元素 (或锚元素) 可以创建一个到其他网页、文件、同一页面内的位置、电子邮件地址或任何其他URL的超链接。 href和download是我们下载文件所需要的两个属性: href:是指这个超链接指向的url地址; download:该...HTML <a> 元素 (或锚元素) 可以创建一个到其他网页、文件、同一页面内的位置、电子邮件地址或任何其他URL的超链接。
href和download是我们下载文件所需要的两个属性:
- href:是指这个超链接指向的url地址;
- download:该属性是HTML5新增的属性,此属性是让我们的浏览器下载URL而不是跳转到URL所指向的内容,所以若我们需要下载文件到本地,需要设置这个属性值。
示例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>a标签的download属性</title> </head> <body> <div> <p><a href="./images/1.png" download="xiazai">下载图片</a></p> </div> </body> </html>
点击就可以进行图片的下载
检测当前浏览器是否支持download属性:
let canSupportDownload = 'download' in document.createElement('a');
目前我们可以在浏览器预览的文件还有pdf、ppt、txt等,倘若能够通过a标签直接下载到本地,这利于用户也利于开发,也不需要server再来处理文件下载。但是现目前的兼容性还是一个大问题。
关于浏览器相关的兼容性可以去看一下这篇文章a标签的download属性简介
-
web后端--一个小小的下载和防盗链功能
2017-08-15 11:08:06下载功能代码: //1获取要下载的文件名 String filename = req.getParameter("filename"); //如果没有文件名 if(filename==null||"".equals(filename=filename.trim())){ //设置响应头,防止响应乱码 ...下载功能代码:
//1获取要下载的文件名 String filename = req.getParameter("filename"); //如果没有文件名 if(filename==null||"".equals(filename=filename.trim())){ //设置响应头,防止响应乱码 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("请指定要下载的文件名"); return; } //下载逻辑 //2.获取要下载的MIME类型 int lastIndexOf = filename.lastIndexOf("."); String mimeType=null; String substring =null; if(lastIndexOf<=0){ // 2.1 没有后缀,MIME 类型设置为二进制文件类型 mimeType = req.getServletContext().getMimeType(".bin"); }else{ // 2.2 拿到要下载的文件的后缀 substring = filename.substring(lastIndexOf);//获取.后面的名称,比如:是soso.apk,则获取到.apk mimeType = req.getServletContext().getMimeType(substring); if(mimeType==null||"".equals(mimeType=mimeType.trim())){ // 如果当前后缀没有查到相应的MIME 类型,同样的设置为二进制文件类型 mimeType = req.getServletContext().getMimeType(".bin"); } } //3.获取文件输入流 InputStream in = req.getServletContext().getResourceAsStream("/download/"+filename); if(in==null){ // 如果没有找到要下载的文件 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("文件[" + filename + "]不存在,请检查文件名再试"); return; } // 4. 设置响应头 // 4.1 设置响应正文的MIME 类型 resp.setContentType(mimeType); // 4.2 设置响应正文的长度,byte resp.setContentLength(in.available()); // 4.3 设置下载文件的描述信息(待下载文件的文件名) resp.addHeader("Content-Disposition", "attachment;filename=" + filename); // 5.输出响应正文,也就是文件 OutputStream out = resp.getOutputStream(); byte[] buffer=new byte[1024]; int length=0; while((length=in.read(buffer))!=-1){ out.write(buffer, 0, length); } in.close();
防盗链功能:
//防盗链 // 根据Referer 请求头,确定当前请求是否来自本网站 // 如果不是,响应 404, 并狠狠地骂回去 String referer = req.getHeader("Referer"); if(referer!=null&&!"".equals(referer=referer.trim())){ //获取请求的来路应用,http://localhost:8080/testDaoLian/ ---->这个是盗链的例子 int index = referer.lastIndexOf("/");//最后一个‘/’ String substring = referer.substring(0, index);//获取到http://localhost:8080/testDaoLian index = substring.lastIndexOf("/"); String srcContextPath = substring.substring(index);//获取到/testDaoLian String contextPath = req.getContextPath();//获取到自己/download if(!contextPath.equals(srcContextPath=srcContextPath.trim())){ resp.sendError(404, "你这条盗链狗!!!!"); return; } }
源码与运行结果:创建CommonDownloadServlet的类:
创建downloadView.html:package com.lza.servlet; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CommonDownloadServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //防盗链 // 根据Referer 请求头,确定当前请求是否来自本网站 // 如果不是,响应 404, 并狠狠地骂回去 String referer = req.getHeader("Referer"); if(referer!=null&&!"".equals(referer=referer.trim())){ //获取请求的来路应用,http://localhost:8080/testDaoLian/ ---->这个是盗链的例子 int index = referer.lastIndexOf("/");//最后一个‘/’ String substring = referer.substring(0, index);//获取到http://localhost:8080/testDaoLian index = substring.lastIndexOf("/"); String srcContextPath = substring.substring(index);//获取到/testDaoLian String contextPath = req.getContextPath();//获取到自己/download if(!contextPath.equals(srcContextPath=srcContextPath.trim())){ resp.sendError(404, "你这条盗链狗!!!!"); return; } } //1获取要下载的文件名 String filename = req.getParameter("filename"); //如果没有文件名 if(filename==null||"".equals(filename=filename.trim())){ //设置响应头,防止响应乱码 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("请指定要下载的文件名"); return; } //下载逻辑 //2.获取要下载的MIME类型 int lastIndexOf = filename.lastIndexOf("."); String mimeType=null; String substring =null; if(lastIndexOf<=0){ // 2.1 没有后缀,MIME 类型设置为二进制文件类型 mimeType = req.getServletContext().getMimeType(".bin"); }else{ // 2.2 拿到要下载的文件的后缀 substring = filename.substring(lastIndexOf);//获取.后面的名称,比如:是soso.apk,则获取到.apk mimeType = req.getServletContext().getMimeType(substring); if(mimeType==null||"".equals(mimeType=mimeType.trim())){ // 如果当前后缀没有查到相应的MIME 类型,同样的设置为二进制文件类型 mimeType = req.getServletContext().getMimeType(".bin"); } } //3.获取文件输入流 InputStream in = req.getServletContext().getResourceAsStream("/download/"+filename); if(in==null){ // 如果没有找到要下载的文件 resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().write("文件[" + filename + "]不存在,请检查文件名再试"); return; } // 4. 设置响应头 // 4.1 设置响应正文的MIME 类型 resp.setContentType(mimeType); // 4.2 设置响应正文的长度,byte resp.setContentLength(in.available()); // 4.3 设置下载文件的描述信息(待下载文件的文件名) resp.addHeader("Content-Disposition", "attachment;filename=" + filename); // 5.输出响应正文,也就是文件 OutputStream out = resp.getOutputStream(); byte[] buffer=new byte[1024]; int length=0; while((length=in.read(buffer))!=-1){ out.write(buffer, 0, length); } in.close(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doGet(req, resp); } }
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>下载首页</title> <style type="text/css"> body{ padding: 0; border: 0; margin: 0; background-color: rgba(255,255,255,0.1); } /*出去a标签的下划线*/ a{ text-decoration: none; } a:hover{ color: #ff4141; } #table01{ margin: 0 auto; border: 1px solid #000000; } .table_tr{ background-color: rgba(72,72,72,0.1); } .table_tr th{ color: #fff5fb; width: 40px; height: 20px; font-size: 15px; } </style> </head> <body> <div class="down"> <table id="table01"> <caption>下载列表</caption> <tr class="table_tr"> <th>文件名</th> <th>操作</th> </tr> <tr class="table_tr"> <td>1.txt</td> <td><a href="http://localhost:8080/download/commondownload?filename=1.txt">下载</a></td> </tr> <tr class="table_tr"> <td>test</td> <td><a href="http://localhost:8080/download/commondownload?filename=test">下载</a></td> </tr> <tr class="table_tr"> <td>timg.jpg</td> <td><a href="http://localhost:8080/download/commondownload?filename=timg.jpg">下载</a></td> </tr> </table> </div> </body> </html>
配置文件web.xml:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>download</display-name> <welcome-file-list> <welcome-file>downloadView.html</welcome-file> </welcome-file-list> <servlet> <servlet-name>imgdownload</servlet-name> <servlet-class>com.lza.servlet.ImageDownloadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>imgdownload</servlet-name> <url-pattern>/imgdownload</url-pattern> </servlet-mapping> <servlet> <servlet-name>commondownload</servlet-name> <servlet-class>com.lza.servlet.CommonDownloadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>commondownload</servlet-name> <url-pattern>/commondownload</url-pattern> </servlet-mapping> <servlet> <servlet-name>login</servlet-name> <servlet-class>com.lza.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> </web-app>
项目图:盗链的测试只要重新弄个项目testDaoLian,把download项目中的downloadView.html复制过来就行了
盗链的项目图:
不盗链的结果截图:
下载1.txt:
盗链测试截图:
点击1.TXT下载:
-
手机来电秀怎么开启_EMUI 9.1开启这个功能,一键设置视频来电秀,另附视频下载链接...
2020-12-18 03:04:21随着EMUI 9.1系统的正式推送,升级系统的华为手机和荣耀手机用户也越来越多,这次EMUI 9.1系统中也新增了很多好玩有趣的功能,今天带大家了解视频来电秀功能,这项第三方的功能终于加入了手机中,详细的设置步骤如下...随着EMUI 9.1系统的正式推送,升级系统的华为手机和荣耀手机用户也越来越多,这次EMUI 9.1系统中也新增了很多好玩有趣的功能,今天带大家了解视频来电秀功能,这项第三方的功能终于加入了手机中,详细的设置步骤如下哦!
一、设置步骤
1、第一步我们进入手机设置中的声音,然后选择"卡1来电铃声"
2、进入选择铃声的界面后,选择"视频铃声",接下来只需要将提前准备好的视频导入,点击右下角的勾即可完成。
提醒一下,自己在抖音里面遇到好看的视频都能用作视频铃声哦!
二、自行编辑
我们下载的视频时长、片段等可能都不是很适合,这时候我们可以自行用清爽视频编辑器来处理一下。首先打开这个工具,我们选择一段视频导入之后,可以在下方选择编辑。
然后我们可以通过截取、分割、编辑、滤镜、调色、特性等功能,将视频编辑成我们喜欢的样子。
三、视频链接
对于不会编辑和懒的剪辑的小伙伴,可以进入华为官方论坛花粉俱乐部搜索"视频铃声资源分享"就可以找到一些不错的来电秀的视频哦!
设置完成后你的手机有来电时是下面这样的:
怎么样,来电视频秀是不是非常好玩呢?
-
mobaxterm最多10个链接_mobaxterm使用,mobaxterm常用的10个功能设置
2021-02-07 03:24:39mobaxterm常用的10个功能设置:一、切换小标签(tab)Ctrl+Tab键:向右切换。Ctrl+Shift+Tab键:向左切换。二、设置字体大小三、通过...五、快捷键Ctrl+Shift+N创建一个新的远程会话。F11当前窗口进入全屏,再按F11退出... -
Vscode个性化设置:让一个小萌妹陪你敲代码
2020-12-03 14:16:57调试功能强大 各种方便的快捷键 强大的插件扩展 对前端这么友好,没理由不用。 偷偷告诉你下载网址: https://code.visualstudio.com/ 效果图 先上图,注意下图是动态的。 是不是很萌萌哒~ 配置 这么萌的效果,... -
下载功能
2019-01-24 14:10:49图片默认情况下, 浏览器进行内联(inline)显示, 如果需要实现下载功能, 则需要设置一个响应头 Content-Disposition 具体请参看: rfc2616的 19.5.1 章节 下载图片的原理是: Servlet代码: @RequestMapping... -
怎么把一个android工程设置成一个Libraries,在另一个程序中引用
2013-02-27 14:54:29在google code下载源码下来学习的时候,有时候...我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。 一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了。 -
iClock时间菜单功能设置
2020-03-05 15:50:39iClock mac是一款时间管理软件,对于人们的生活和工作有着很大的提醒作用!想要了解更多的朋友,欢迎前来下载小... 您可以在下面找到从上到下的每个设置的信息。每个首选项的顶部都有一个复选框,用于打开/关闭它。... -
微信公众号-公众号设置-功能设置
2017-01-16 16:37:00设置一个域名 如aabb.com 2.将注意事项中的第3条下的文件下载下来。并上传至填写域名或路径指向的web服务器. 1.远程登陆到服务器 2.找到web服务器根目录 我用的是UPUPW_AP5.4,找到UPUPW_AP... -
IDEA的下载及相关设置
2021-01-06 11:19:51IDEA的下载及相关设置一、IDEA1.1 下载及安装1.2 项目布局1.3 创建一个项目及模块1.4 简单配置① 字体大小② 主题1.5 快捷键 一、IDEA 收费的,但是非常好用。 JetBrains公司旗下的。 1.1 下载及安装 官网下载地址... -
Win7设置一个喜欢的背景
2014-06-05 11:16:331、首先到网上下载这款魔方电脑大师软件,下载完成之后运行它,然后在功能大全选项卡中,选择下方的“魔方美化大师”; 2、在弹出来的魔方美化大师中,在上方“系统外观设置”中,选择点击列表中的“右键... -
万能地图下载器中设置详解
2017-02-20 17:58:32在万能地图下载器中点击“设置”可以看到一系列的功能设置,每个功能对应的作用是什么呢,本文将会对万能地图下载器中的功能设置进行详细的介绍。 工具/原料 水经注万能地图下载器 方法/步骤 1.在... -
ccleaner下载与简单设置
2020-04-02 12:38:15它还有一个强大的功能就是用来清除我们的上网记录。CCleaner软件所用空间极小,运行速度又快,对临时文件夹、历史记录、回收站等清理效果显著,还可以对注册表进行垃圾项扫描、清理。顺便一提,CCleaner还附带软件... -
四个屏幕设置_电脑屏幕四角居然还有这样功能,大神都不一定知道!
2021-01-14 03:56:02大家好,我是互联网小技巧小编茂茂,关于电脑实用技巧和软件,已经给小伙伴...一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一文字版教程1、下载电脑四角扩展功... -
qtextedit设置最大输入_这 14 个隐藏在 iOS 设置菜单中的实用小功能,你都知道吗?...
2020-12-05 04:20:56随着 iOS 的一次次重大更新,系统功能越来越多,设置项也越来越多。不好好的研究一下的话设置菜单里很多实用的小功能就可能被我们给忽略了。相信不少用户都会有在 iPhone 上使用 VPN 的需求。可能很多人最先想到的从... -
鼠标设置按键功能方式(例如设置鼠标侧键为复制粘贴功能)
2016-05-29 23:37:22首先要用到一个鼠标侧键自定义程序:X-MouseButtonControl 推荐下载1.51汉化版的 链接:http://pan.baidu.com/s/1hr5VV7m 密码:c9p9第一步:添加要使用侧键自定义的程序 先打开要设置的程序。。。比如幻想大陆。... -
如何设置让一个窗口总在最前(Exaware OnTop和PushPin)
2014-04-03 11:49:18如何设置让一个窗口总在最前(Exaware OnTop和PushPin)软件下载 Windows中打开一个新窗口或切换任务时,原有的活动窗口就会被它所覆盖。不过,像Winamp等软件,却有一个能让自己的操作窗口总在最前的功能,非常实用... -
RHEL 5 vsftpd 下简单设置多个虚拟用户使用一个目录
2010-10-31 20:38:00题目:配置一个ftp服务器,并且创建2个用户,一个为upload,一个为download,upload用户只能实现上传功能,而不能下载,download用户只能实现下载功能,而不能上传。并且2个用户均查看到相同的内容(即同一个目录)... -
百度ueditor富文本编辑器上传视频设置封面和禁止视频全屏、下载功能
2019-04-04 15:35:00最近在工作中用到了ueditor,这个最开始不是我接入到后台管理系统的,我半路接手,百度官方给的文档又写的很一般,不易理解,所以有很多问题解决的很麻烦。...这样带来的一个问题是, 如果文章里有视频播放的话... -
Android仿微信QQ设置图形头像裁剪功能
2021-01-06 01:03:54最近在做毕业设计,想有一个功能和QQ一样可以裁剪头像并设置圆形头像,额,这是设计狮的一种潮流。 而纵观现在主流的APP,只要有用户系统这个功能,这个需求一般都是在(bu)劫(de)难(bu)逃(xue)! 图片裁剪实现... -
RHEL 5 vsftpd 下简单设置多个虚拟用户使用一个目录
2010-10-31 20:38:00题目:配置一个ftp服务器,并且创建2个用户,一个为upload,一个为download,upload用户只能实现上传功能,而不能下载,download用户只能实现下载功能,而不能上传。并且2个用户均查看到相同的内容(即同一个目录)... -
idea 一打开 就提示内存溢出_加速编程效率,你不知道的IDEA功能设置
2021-01-20 16:09:21作者|小明菜市场来源 |小明菜市场(ID:fileGeek)头图 | CSDN下载自东方ICIDEA 的代码提示有一个补充的特点,区分大小写,这个功能如图所示。默认就是区分大小写的。举个栗子,在 Java 代码中输入 stringBuffer,是... -
华为手机在萤石云上设置权限_华为手机设置好这3个功能,无论新旧机,从此就可远离卡顿...
2021-01-02 15:38:55而说到手机,卡顿真的可以说是一个很让人头痛的事情,即使是华为手机也不能幸免。但其实主要将华为手机这3个功能设置好,无论你是新旧机,从此都可以远离卡顿!1、 关闭消息推送我们的手机里会有很多APP,当它们安在... -
libcurl库实战之下载ftp文件并设置主动模式下载
2018-11-08 09:55:46前言 由于某些需求,可能要求在下载时使用ftp主动模式下载,关于ftp的主、被动模式这里我就不多做解释,有兴趣的可以自己百度 ...该功能在libcurl下也不过是一个参数设置而已 //设置主动模式 cu... -
JS是否能做成一个IE插件,可以配置浏览器设置信息
2014-04-30 11:08:25J2EE做的一个内网的办公系统, 运行系统需要对IE浏览器进行一些设置, //如XSS筛选 禁用 //弹出窗口阻止程序 禁用 //文件下载 启用 //添加信任站点ip等 之前是做了一个批处理,用户自己手动执行。 现在想把... -
实现下载功能
2019-07-23 20:22:00思路: 找到一张图片或其他的文件,放置到一个目录下,然后获取其绝对路径,利用IO流对图片进行边读边写,中 间再设置一个下载的响应头即可。也可以连接网页,通过按钮,a标签之类的下载。 实现步骤及代码: 1.在... -
js实现下载功能
2017-11-23 09:10:57js实现下载功能最近需要做一个下载功能,然后到网上查了查,顺便写了个小demo; 在h5新特性里面;a标签有个download的属性; 下载的文件的路径" download="下载文件的名称"> 通过 a 标签设置download属性,可以让...
-
classes12-10.2.0.1.0.jar.rar
-
2021年 系统分析师 系列课
-
深究字符编码的奥秘,与乱码说再见
-
element-ui css
-
C/C++反汇编解密
-
app软件测试全栈系列精品课程
-
班费管理系统数据库的设计与实现
-
为何不推荐使用存储过程
-
包装e线.商业计划书【恩美路演提供】.pdf
-
EA_20290101_ma_kdj_multicurrencypair_modified20181216.ex4
-
忽略Eslint文件校验
-
MySQL 四类管理日志(详解及高阶配置)
-
【爱码农】C#制作MDI文本编辑器
-
项目管理工具与方法
-
MySQL 性能优化(思路拓展及实操)
-
apache-log4j-2.14.0-bin.zip
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
vue axios的封装使用
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
心怀梦想脚踏实地幼儿园上学期开学工作会议ppt.ppt