Advertisement

利用修改referer来下载文件的方法

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文介绍了通过修改HTTP请求头中的Referer字段,以规避某些网站对直接链接下载限制的技术方法。 遇到一件令人郁闷的事情:如果将Http对象设置为全局变量,则onreadystatechange事件只会在第一次执行时触发,之后便不再触发该事件了。因此,在每次下载文件时都必须重新创建一个XmlHttp对象。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • referer
    优质
    本文介绍了通过修改HTTP请求头中的Referer字段,以规避某些网站对直接链接下载限制的技术方法。 遇到一件令人郁闷的事情:如果将Http对象设置为全局变量,则onreadystatechange事件只会在第一次执行时触发,之后便不再触发该事件了。因此,在每次下载文件时都必须重新创建一个XmlHttp对象。
  • curl命令.docx
    优质
    本文档介绍了如何使用Linux系统中的curl命令高效地从网络上下载文件。通过示例详细说明了curl的各种选项和参数设置方法,适用于需要频繁在网络间传输数据的技术人员。 在UNIX系统中,默认安装了curl工具,该工具支持多种协议,包括HTTP、HTTPS、FTP、FTPS、SFTP等。如果没有指定任何协议,默认使用HTTP协议。curl命令可以用来下载文件,并且提供了多种选项来实现不同的下载需求。 基本使用 使用curl命令下载文件非常简单,只需要指定要下载的URL即可。例如: ``` [root@localhost ~]# curl http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso ``` 下载文件并保存 如果希望下载文件并保存到本地,可以使用`-O`选项,并指定要保存的文件名。例如: ``` [root@localhost ~]# curl -O http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso ``` 这将下载文件并保存到本地,文件名与远程文件名相同。 下载多个文件 如果需要下载多个文件,可以使用多个`-O`选项,每个选项后面跟着要下载的URL。例如: ``` [root@localhost ~]# curl -O http://www.example.com/file.pdf -O http://www.example.com/file1.pdf ``` 使用正则语法下载文件 如果URL中包含数字并且有顺序,可以使用正则语法来下载文件。例如: ``` [root@localhost ~]# curl ftp://ftp.example.com/file[1-30].jpg ``` 保存文件到不同的名称 如果希望使用不同的名称保存多个文件,可以使用`-o`选项来实现。例如: ``` [root@localhost ~]# curl -o file2.pdf http://www.example.com/file.pdf -o file3.pdf http://www.example.com/file1.pdf ``` 显示下载进度 curl命令可以显示下载进度,包括传输速率、传输的数据量、剩余的时间等信息。例如: ``` [root@localhost ~]# curl -# http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso ``` 限制最大传输速度 可以使用`--limit-rate`选项来限制最大传输速度。例如: ``` [root@localhost ~]# curl --limit-rate 1m http://mirrors.163.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso ``` 这个命令将把下载速度限制在每秒1MB以内。 curl命令提供了多种选项来实现不同的下载需求,可以根据需要选择合适的选项来下载文件。
  • 属性表更新SHP
    优质
    本简介介绍了一种通过编辑属性表来高效更新Shapefile(SHP)数据文件的技术方法,适用于需要频繁改动地理信息的数据维护工作。 使用C#编写代码可以用来修改shp文件的属性表.dbf文件,从而实现对shp文件的编辑功能。
  • HttpClient进行上传和
    优质
    本教程详细介绍如何使用HttpClient在Java中实现文件的上传与下载功能,包括基本配置、参数设置及代码示例。 接下来为大家介绍如何使用HttpClient实现文件的上传下载方法。我觉得这个话题非常有用,现在分享给大家参考。希望对大家有所帮助。
  • JavaURL及输出实现
    优质
    本文章介绍了如何使用Java编程语言通过URL获取并下载网络上的文件,并将其内容进行输出的具体实现方法和步骤。 下面为大家分享一篇关于通过Java使用URL下载文件并输出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随文章了解更多信息吧。
  • Windows批量夹内三种
    优质
    本文介绍了在Windows系统中批量修改文件夹内文件名称的三种实用方法,帮助用户快速高效地处理大量文件命名问题。 我开发了一个小工具,能够批量更改文件夹内所有文件的名称,并支持三种不同的命名方式。此外,该工具还能递归地对子目录中的文件进行同样操作。如果有需要的朋友可以联系获取这个工具。
  • Oracle.bash_profile
    优质
    本文介绍了在Oracle用户环境下如何安全地修改.bash_profile文件,包括配置环境变量、路径和启动程序的方法。 在Linux系统安装Oracle过程中,需要对oracle用户下的.bash_profile文件进行相应的配置修改,并将这些修改内容记录下来以备后续使用或参考。
  • API
    优质
    本文章介绍了如何通过使用各种编程语言来实现从网络上获取和下载文件的API方法。涵盖了基本原理及实用示例代码。 API下载文件的功能允许用户通过调用特定的接口来获取所需的文件资源。这种方式通常提供了方便快捷的数据访问途径,并且可以根据需要进行灵活配置。使用API下载文件一般包括请求参数设置、身份验证以及响应处理等步骤,以确保安全和高效地传输数据。
  • Python socket模块进行简易
    优质
    本文介绍了如何使用Python的socket模块实现简单的文件下载功能,适合对网络编程感兴趣的初学者学习和实践。 在Python编程中,Socket模块提供了网络通信的基础功能,使创建客户端和服务端进行数据传输成为可能。本段落将深入探讨如何使用Python的Socket模块实现简单的文件下载功能,并分析提供的服务器端(Server)和客户端(Client)代码,解释每个关键部分的作用。 **服务器端(Server)** 1. 导入所需的库:`socket`, `os`, 和 `time`. 2. 创建一个Socket对象:`server = socket.socket()`. 这将创建一个TCP套接字用于处理来自客户端的连接。 3. 将Socket绑定到本地主机(localhost)和端口8080: `server.bind((localhost, 8080))`. 4. 调用`listen()`方法使服务器进入监听状态,等待客户端发起连接请求。 5. 使用`accept()`方法接收一个来自客户端的连接,并返回一个新的连接套接字(conn)和客户端地址(addr)。 6. 在循环中,服务器持续接受由客户端发送的数据直到断开连接为止。 7. 数据接收使用`recv(1024)`, 每次最多可以接收1024字节的信息。 8. 解码接收到的命令信息并提取出操作指令(cmd)和文件名(filename)。例如,可能的操作是get name.txt. 9. 验证请求中的文件是否存在。如果存在,则打开该文件读取其内容为字节形式。 10. 将要传输的文件大小发送给客户端, 让对方知道整个数据包接收完毕的时间点。 11. 接收到来自客户端确认消息之后,开始逐行发送文件的内容。 12. 文件传输完成后关闭相关的连接和打开过的文件。 **客户端(Client)** 1. 客户端同样首先需要创建一个Socket对象并用它来与服务器建立联系。 2. 在循环中让用户输入命令, 如get name.txt. 3. 如果用户请求以“get”开始,那么就向服务方发起下载的请求。 4. 接收来自服务器的信息,并检查是否收到了文件不存在的通知。 5. 若确认文件存在,则发送一个准备接收消息给服务器端表明已经准备好接受数据了。 6. 获取到即将传输的数据大小后创建一个新的空白文档以备写入接收到的内容。 7. 在循环中,客户端持续从服务方获取分块的文件内容直到达到总大小为止。每次可以最多接收1024字节或根据剩余部分来决定最后一次读取量。 8. 接收完毕的数据被逐行追加到新建文档里完成下载操作。 9. 下载完成后关闭相关的连接和打开过的文件。 **测试案例** 为了验证代码的功能,可以在同一网络环境的条件下分别运行服务器端脚本和服务请求方(客户端)的程序。在服务请求方输入所需的命令后, 服务器将指定文件发送出去而接收者会收到并保存该文件。确保两者在同一局域网内或者配置了外部访问权限的情况下进行测试。 通过这种方式,Python中的Socket模块使实现基本的文件下载功能变得简单明了。不过,在实际应用中可能需要考虑更多的因素,如错误处理、安全性以及性能优化等方面的问题。此外, Python还提供了诸如`ftplib`之类的其他库用于FTP文件传输从而简化此类任务的操作流程。
  • URLDownloadToFileURL
    优质
    本文章介绍了如何使用Windows API函数URLDownloadToFile从互联网上下载文件,并提供了相应的代码示例和注意事项。 使用线程调用URLDownloadToFile下载URL文件,并在下载过程中显示进度,同时支持暂停功能,在VS2010环境中可以成功编译。