找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 1709|回复: 6

【教程】FTP新手教程

[复制链接]
发表于 2008-4-9 10:17:10 | 显示全部楼层 |阅读模式
FTP初级教程---新手必读


1. FTP协议
什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写。该协议是Internet文件传送的基础,它由一系列规格说明文档组成,目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。简单的说,FTP就是完成两台计算机之间的拷贝,从远程计算机拷贝文件至自己的计算机上,称之为“下载(download)”文件。若将文件从自己计算机中拷贝至远程计算机上,则称之为“上载(upload)”文件。在TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20。

2. FTP服务器和客户端
同大多数Internet服务一样,FTP也是一个客户/服务器系统。用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照 FTP 协议提供服务,进行文件传送的计算机就是 FTP 服务器,而连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。用户要连上 FTP 服务器,就要用到 FPT 的客户端软件,通常 Windows自带“ftp”命令,这是一个命令行的 FTP 客户程序,另外常用的 FTP 客户程序还有 CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨-猫眼等。

3. FTP用户授权

3.1 用户授权
要连上 FTP 服务器(即“登陆”),必须要有该 FTP 服务器授权的帐号,也就是说你只有在有了一个用户标识和一个口令后才能登陆FTP服务器,享受FTP服务器提供的服务。

3.2 FTP地址格式
FTP地址如下:
ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名
上面的参数除FTP服务器IP或域名为必要项外,其他都不是必须的。如以下地址都是有效FTP地址:
ftp://readfree.8866.org
ftp://list:list@readfree.8866.org
ftp://list:list@readfree.8866.org:21
ftp://list:list@readfree.8866.org:21/soft/list.txt

3.3匿名FTP
互连网中有很大一部分 FTP 服务器被称为“匿名”(Anonymous)FTP 服务器。这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”登陆FTP服务,就可访问远程主机上公开的文件。许多系统要求用户将Emai1地址作为口令,以便更好地对访问进行跟综。匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息,数据和软件。人们只要知道特定信息资源的主机地址,就可以用匿名FTP登录获取所需的信息资料。虽然目前使用WWW环境已取代匿名FTP成为最主要的信息查询方式,但是匿名FTP仍是 Internet上传输分发软件的一种基本方法。如red hat 、autodesk等公司的匿名站点。

4. FTP的传输模式
FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置、联接的方式、甚至是是否使用相同的操作系统无关。假设两台计算机通过ftp协议对话,并且能访问Internet, 你可以用ftp命令来传输文件。每种操作系统使用上有某一些细微差别,但是每种协议基本的命令结构是相同的。
FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

1.ASCII传输方式:假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。

2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到Windows系统,在对方系统上,此文件不能执行。
如果你在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。

5. FTP的工作方式
FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
下面介绍一个这两种方式的工作原理:
Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作

6.FXP
FXP说简单点就是一个FTP客户端控制两个FTP服务器,在两个FTP服务器之间传送文件。FXP的全称为File Exchange Protocol――文件交换协议,可以认为FXP本身其实就是FTP的一个子集,因为FXP方式实际上就是利用了FTP服务器的Proxy命令,不过它的前提条件是FTP服务器要支持PASV,且支持FXP方式。

FXP传送时,文件并不下载至本地,本地只是发送控制命令,故FXP传送时的速度只与两个FTP服务器之间的网络速度有关,而与本地速度无关。因FXP方式本地只发送命令,故在开始传送后,只要本地不发送停止的命令,就算是本地关机了,FXP仍在传送,直至一个文件传送完成或文件传送出错后,FTP服务器等待本地发送命令时,才会因不能接收到命令而终止FXP传送。
因为上述的原因,FXP传送出错时,本地的用户进程还留在FTP服务器中,并没有退出,如此时再次连接FTP服务器,可能会因用户线程超过允许,FTP服务器提示客户已登陆并拒绝客户端的连接,直至服务器中的傀儡进程因超时或其他原因被FTP服务器杀死后,才能再次连接FTP服务器。
成功FXP有两个必要条件:①两个FTP服务器均支持FXP;②两个FTP服务器均支持PASV方式。但并不是说满足这两个条件的FTP服务器均经本地操作成功FXP,这还与本地与FTP服务器的网络状况有关。故有时会出现同样两个FTP,别人可以FXP,而你不可以的情况。
回复

使用道具 举报

 楼主| 发表于 2008-4-9 10:20:10 | 显示全部楼层
ftp下载简易实用教程:


1、用flashget(网际快车)进行FTP下载


打开flashget,进入主页面。在工具的地方下面有一个“站点资源探测器”,点击




之后来到登陆页面,输入FTP的地址,然后按右边的登陆,依次在“用户”和“口令”中填入用户名和密码,输入后回车




这时就进入了FTP,会出现以上界面。左边是文件夹目录,双击你要进入的文件夹,比如你要进入“篮球赛事”,双击。右边框会出现此文件夹下的文件目录。一直找到你所想要下载文件。




找到需要文件之后,双击这个文件,会弹出一个对话框。如上图所示。选好路径后,按“确定”就OK了




然后出现此下载界面,先是正在下载,各位就只用等完成就够了。我想一些flashget的基本用法这里就不用我多说了







2、用flashFXP软件进行FTP下载

一.下载并安装flashFXP软件. 然后启动程序,出来以下这个画面 :




二.点击快速连接:




三.填写需要连接的服务器地址.用户名.密码和端口等:




四.登陆成功,可以查看一下FTP上的资源:




五.把需要的文件拖入本地窗口,就可以下载了:


回复

使用道具 举报

 楼主| 发表于 2008-4-9 10:20:45 | 显示全部楼层
FTP登陆错误详解

ftp登陆不了是很经常碰到的事,很多人常常是不加分析就发贴询问。老实说,这样既浪费自己时间,又浪费别人精力,还常常不能得到满意的回答。因此每一位希望从ftp站点发现资源的朋友都有必要学会分析登陆失败的原因:

所谓登陆提示,是指登陆时你与服务器双向交流的一些指令及状态提示,你如果看到类似这样的字样,那就是了:
*** CuteFTP Pro 2.0 - build Dec 4 2001 ***
状态:> 正在获取列表“”...
状态:> 正在连接到 ftp 服务器 211.*.*.*:* (ip = 211.*.*.*:*)...
状态:> Socket 已连接。正在等候欢迎消息...
220 FTP服务器已启动
状态:> 已连接。正在验证...
命令:> USER software
331 User name okay, need password.
命令:> PASS *****
230 User logged in, proceed.
状态:> 登录成功。
命令:> PWD
257 "/" is current directory.
这个东西是非常重要的,请一定加以注意。



常见错误分析

如果见到下述字样,并停留较长时间
状态:> 正在连接到 ftp 服务器 211.*.*.*:*(ip = 211.*.*.*:*)...
之后见到:
错误:> 无法连接到远程服务器。Socket 错误 = #10060。
状态:> 正在等候 30 秒...
出现该种情况有两种可能:
一为对方未开ftp或者无法连通,请与ftp管理者联系
二则是因为端口填写错误。一般默认为21,但是因为此种端口在某些网络中易引起冲突,安全性也值得商榷,故多数ftp更改了端口。如果你没有填写端口(ftp软件会默认21)或者填写错误,也会引起10060错误.

如果见到下述字样
Thu Mar 07 11:44:56 2002 530 Sorry, no ANONYMOUS access allowed
表明该ftp不允许匿名者登陆,请与ftp管理者联系,并取得账号
Thu Mar 07 11:46:29 2002 USER bugdown
  Thu Mar 07 11:46:30 2002 331 User name okay, need password.
  Thu Mar 07 11:46:30 2002 PASS ********
  Thu Mar 07 11:46:30 2002 530 Not logged in.
 有两种可能
1 账号或者密码输入错误,被拒绝登陆。请先确定你没有输入错误(较复杂的密码建议用复制粘贴来填写,并注意有无空格),然后与ftp管理者联系以确认你的账号没有过期。目前大部分的ftp都会定期更改密码,所以此宗错误是最常见的。
2 用了花生壳等动态域名,有时会出现这样的现象:如果ftp没有开,有人以动态域名登陆时,动态域名的服务商会将你自动转到它自己的提示性ftp,这时有可能出现密码错误,也有可能登陆到它的服务器。部分以iis为基础建立的ftp有可能转至微软的服务器,现象类同。

Thu Mar 07 11:51:25 2002 421 Too many users - please try again later.
这是因为ftp管理者设定了该帐号(或者该域名)的最大登陆人数,现在已经达到这一限制,因此你无法登陆。只有等待其他用户退出或者使用其他账号,你才可能进入ftp.

命令:> PASS *****
530 Not logged in, only one session from same IP allowed at a time.

错误:> 未登录。
状态:> 连接已关闭。
该帐号只允许单线程登陆,因此请注意你是否打开多个窗口或者已经有一个线程在下载

在登陆人数已满,而你不断尝试登陆,有三种可能的情况:
1 你终于挤进去了
2 谈出窗口提示错误,并在登陆错误指令见到这样的字样:
错误:> 控制连接已关闭。
表明ftp服务器拦截你这样频繁的尝试。你可以不管它,确定之后继续尝试;但是稍有道德的人都应该把ftp软件的全局设置中关于连接重试尝试的间隔时间修改到较大,一般提倡30秒到2分钟。
3 你被ban了。serv-U所作的服务器不能自动ban ip,但是管理者可以手工ban,部分服务器端软件可以自动封ip。被ban的提示为:
命令:> PASS *****
530 Not logged in, unauthorized IP address.
上面的提示
命令:> PASS *****

530 Not logged in, unauthorized IP address.
就是说你的ip是不合法的,不管是因为什么原因,总之除非你与管理者联系并解封,实在是没有继续尝试的必要。当然,管理者可能只是ban你一段时间,你可以过后再重新尝试。但是一定记得更改你的尝试间隔时间。
有时候不是因为封了你,而是因为该帐号限制只有部分许可的ip可以登陆,同样你必须与管理者联系,请他手工添加你的ip




常见FTP登陆Log信息


1. Connected. Waiting for response.
  220 Serv-U FTP Server v4.0 for WinSock ready...
  USER anonymous
  530 Sorry, no ANONYMOUS access allowed.
  QUIT

  这个就是不许匿名登录啦

2. Connected. Waiting for response.
  220 Serv-U FTP Server v4.0 for WinSock ready...
  USER test
  331 User name okay, need password.
  PASS xxxxxx
  530 Not logged in.
  QUIT

  一般是密码输入错误时出现的信息,但对于Serv-U来说,如果没有这个帐号(test)存在,也会产生同样的出错信息。

3. Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
  ERROR: Connection timed out

  这个表明对方未开机,也可能是对方不在你能访问的范围内

4. Connecting to xxx.xxx.xxx.xxx Port 21 (#1)
  ERROR: Connection refused

  这个一般表明对方已开机,但未开启FTP服务(没有开Serv-U)
  也可能为对方不提供在这个端口上的服务

5. Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
  Connected. Waiting for response.
  Disconnected from server.
  Connection attempt failed. Waiting for retry...

  出现这个信息实在是很倒霉,你极有可能被对方Ban了。
如果只是Ban几分钟or几小时or一天还好,不然只有和站长说说好话,让他给你解封吧。

6. Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
  Connected. Waiting for response.
  USER XXX
  331 User name okay, need password
  PASS xxxxxx
  530 Not logged in, unauthorized IP address.
  QUIT

  这个有点麻烦,你的IP不在站长允许访问的IP范围内,只有和站长联系,让他把你的IP网段加入Allow Access列表里吧

7. Connected. Waiting for response.
  220 Serv-U FTP Server v4.0 for WinSock ready...
  USER user
  421 Too many users - please try again later.

  哈哈,这个很常见吧,用户太多,去过交大的都知道该怎么做

8. Connected. Waiting for response.
  220 Serv-U FTP Server v4.0 for WinSock ready...
  USER test
  530 Not logged in, only one(也有可能是two or three) session from same IP allowed at a time.
  QUIT

  每个IP只能开一个(也有可能是two or three) 下载,就不要用多线程啦,小心Ban了你。




FTP信息代码全解


110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "=").
   重新启动标志回应。这种情况下,信息是精确的并且不用特别的处理;可以这样看:标记 yyyy = mmm 中 yyyy是 用户进程数据流标记,mmmm是服务器端相应的标记(注意在标记和等号间的空格)

120 Service ready in nnn minutes.
   服务在NNN时间内可用

125 Data connection already open; transfer starting.
   数据连接已经打开,开始传送数据.

150 File status okay; about to open data connection.
   文件状态正确,正在打开数据连接.

200 Command okay.
   命令执行正常结束.

202 Command not implemented, superfluous at this site.
   命令未被执行,此站点不支持此命令.

211 System status, or system help reply.
   系统状态或系统帮助信息回应.

212 Directory status.
   目录状态信息.

213 File status.
   文件状态信息.

214 Help message.On how to use the server or the meaning of a particular non-    standard command. This reply is useful only to the human user.
   帮助信息。关于如何使用本服务 器或特殊的非标准命令。此回复只对人有用。

215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.
   NAME系统类型。

220 Service ready for new user.
   连接的用户的服务已就绪

221 Service closing control connection.
   控制连接关闭

225 Data connection open; no transfer in progress.
   数据连接已打开,没有进行中的数据传送

226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
   正在关闭数据连接。请求文件动作成功结束(例如,文件传送或终止)

227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
   进入被动模式

230 User logged in, proceed. Logged out if appropriate.
   户已登入。 如果不需要可以登出。

250 Requested file action okay, completed.
   被请求文件操作成功完成

257 "ATHNAME" created.
   路径已建立

331 User name okay, need password.
   用户名存在,需要输入密码

332 Need account for login.
   需要登陆的账户

350 Requested file action pending further information
   对被请求文件的操作需要进一步更多的信息

421 Service not available, closing control connection.This may be a reply to any command if the service knows it must shut down.
   服务不可用,控制连接关闭。这可能是对任何命令的回应,如果服务认为它必须关闭

425 Can't open data connection.
   打开数据连接失败

426 Connection closed; transfer aborted.
   连接关闭,传送中止。

450 Requested file action not taken.
   对被请求文件的操作未被执行

451 Requested action aborted. Local error in processing.
   请求的操作中止。处理中发生本地错误。

452 Requested action not taken. Insufficient storage space in system.File unavailable (e.g., file busy).
   请求的操作没有被执行。 系统存储空间不足。 文件不可用

500 Syntax error, command unrecognized. This may include errors such as command line too long.
   语法错误,不可识别的命令。 这可能是命令行过长。

501 Syntax error in parameters or arguments.
   参数错误导致的语法错误

502 Command not implemented.
   命令未被执行

503 Bad sequence of commands.
   命令的次序错误。

504 Command not implemented for that parameter.
   由于参数错误,命令未被执行

530 Not logged in.
   没有登录

532 Need account for storing files.
   存储文件需要账户信息

550 Requested action not taken. File unavailable (e.g., file not found, no access).
   请求操作未被执行,文件不可用。

551 Requested action aborted. Page type unknown.
   请求操作中止,页面类型未知

552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
   请求文件的操作中止。 超出存储分配

553 Requested action not taken. File name not allowed
   请求操作未被执行。 文件名不允许




这种错误跟http协议类似,大致是:

2开头--成功
3开头--权限问题
4开头--文件问题
5开头--服务器问题

对FTP爱好者们最有用的:

421:一般出现在连接数多,需稍后再连接;
530:密码错误;
550:目录或文件已经被删除。
回复

使用道具 举报

 楼主| 发表于 2008-4-9 10:21:51 | 显示全部楼层
巧妙突破ftp服务器单线程下载限制


保护FTP网站的稳定和安全,避免因同时出现过多的数据流量而造成FTP网站的崩溃,同时也为了让更多的用户能登录网站,从而在FTP软件中作出限定某个IP地址段的用户才能登录网站或者限制同一IP地址的用户同时使用多线程进行下载。从内容提供者的角度来说,上述限制措施是情有可原和十分必要的,但是对于众多的下载者来说总觉得不爽。如何突破这些限制,继续往下看。


对于大部分的网友来说,上网的最大乐趣就是可以下载各种各样的共享软件和最新的影音文件,而且随着宽带上网的逐渐普及,在家自建FTP网站的朋友也越来越多,从而可供下载的文件正在急剧增加。虽然要从众多的FTP服务器上找到合适的文件不太困难,因为形形色色的论坛常常每天都会公布最新文件的下载URL,只要肯花些时间就能从中找到心仪的“对象”。不过,要把这些文件下载回来却一点也不容易,因为出于各种原因,很多FTP网站都存在一些限制,其中IP地址限制就是最常见和最多使用的手段。如何能突破IP地址而实现轻松下载是当前网友遇到的最大问题,下面就让我们来看看有什么解决办法。

为保护FTP网站的稳定和安全,避免因同时出现过多的数据流量而造成FTP网站的崩溃,同时也为了让更多的用户能登录网站,从而在FTP软件中作出限定某个IP地址段的用户才能登录网站或者限制同一IP地址的用户同时使用多线程进行下载。从内容提供者的角度来说,上述限制措施是情有可原和十分必要的,但是对于众多的下载者来说总觉得不爽。如何突破这些限制,继续往下看。

从上述内容可以看出,要突破限制必须从代理服务器和下载客户端两方面入手。由于FTP网站限制特定的IP地址段内计算机才能访问,所以首先就要取得访问权限,而使用代理服务器作为跳板则不失为一种简单可行的解决办法。对于那些限制同时使用多线程下载的FTP网站,则可以用代理加多线程下载软件的方法来突破。

寻找代理服务器
方法一:使用专业的代理搜索软件进行搜索。在正常搜索之前,首先要清楚知道可登录的IP地址段。一般来说,当登录受限制网站时都有从登录信息中看到有关的提示(例如直接告诉你可访问的IP地址段或要求你浏览某个论坛)。下面假设可登录的IP地址段为192.0.0.1至192.255.255.55,看看在代理猎手中应该怎样设置:

●启动软件后,打开菜单“系统” | “参数设置”,然后在“搜索验证设置”的“其它设置”选项中选择“FTP插件”(如图1),完成后确定保存起来。




寻找代理服务器2






●上网后启动代理猎手进行搜索,并把得到的代理服务器在下载软件中设置好,然后再登录有限制的FTP网站。

方法二:利用网上论坛公布的代理列表。如果觉得上述方法太麻烦了,也可以有一个简捷的途径。目前网上有不少论坛常有“雷锋”式的网友会不定期公布来之不易的代理服务器列表,有了这些代理列表,我们的工作就可以轻松的多。不过由于代理服务器都有一定的时效性,需要进一步进行验证后方能使用。至于如何找到论坛的URL地址则十分简单,只要使用Google等搜索引擎,然后以“代理 列表 论坛”为关键字进行搜索就可以找到。

●在代理猎手中点击“添加任务”并输入搜索字段范围(如图2),再次点击“添加”按钮并输入如图3的设置,完成退出。

下载软件的设置
得到代理服务器后,就可以直接在下载软件中设置相应的代理,然后就可以登录受限制网站。不过对于限制同时使用多线程下载的FTP网站,要实现打破限制,除了要得到若干个可用的socks的代理服务器外,还需要对下载软件进行一些设置。


FlashGet突破下载法

●依次打开FlashGet菜单中“工具” | “选项” | “代理服务器”,把可以使用的socks的代理服务器添加到列表窗口并勾选对应的“多代理”方框(如图4)。需要注意的是,添加socks代理服务器时要留意选择类型(sock5还是sock4,一般来说目前能找到多为sock5代理)和端口。




●当发现正在下载的FTP网站不支持同时使用多线程下载时,先暂停下载,然后用鼠标右键单击下载任务,在出现的功能菜单中选择“站点属性”,接着取消属性窗口中的“没有限制”选项并填入下载线程数目(每个线程对应一个socks代理服务器,所以如果socks代理不足则过多的线程会无效,一般5个左右就足够了)。另外,一定要勾选“每一个连接使用不同的代理服务器”方能起作用(如图5)。




●重新开始下载后,你就可以在下载日志栏中发现正有几个小“汽车”努力地为你从遥远的网站中把所需的文件“搬”回家。

Net Transport突破下载法
与FlashGet相比,Net Transport除了具有它的大部分功能之外,还具有一项“特异功能”:支持流媒体下载。通过这个功能,很多只能在线播放的电影和音乐也能轻松下载。不过,各种流媒体的播放网站都有不同程度的限制,其中下载线程的数目限制相当严格(即使使用Net Transport通常也只能使用单线程下载),看着那10至20KB的下载速度,心中实在是不爽。不过幸好Net Transport能支持多代理多线程的下载技术,通过一定的方法同样可以突破这个下载限制。

●在“代理服务器”功能标签下增加代理后,点击“验证”按钮对代理服务器的状态和速度进行检测,并按速度快慢由上而下排序(点击“耗时”小方格),最后单击“更新”按钮把新增的代理服务器保存起来。

●同样,使用多线程下载流媒体的时候,暂停下载任务,以“Alt-Enter”快捷键打开属性窗口,点击“代理设置”,然后选择“多代理,每个线程使用不同的代理”,接着在下面的列表窗口中,从“线程2”开始设置不同的代理服务器(“线程1”不必使用代理服务器)(如图6),最后确定退出就能享受多线程下载的快感了。


回复

使用道具 举报

发表于 2008-4-10 08:53:53 | 显示全部楼层

老马“strnghrs”的FtpList说明文件(强烈推荐)

[align=justify]FtpList: An application to list all files and directories in a FTP server or a local computer. The result can be a tree or a URL list.

作者:马健
邮箱:stronghorse@163.net
主页:http://stronghorse.yeah.net

FAQ
使用说明
附录A 鸣谢
附录B 版本更新记录


FAQ

Q:FtpList是什么?
A:这是一个目录列表工具,能够列出FTP、本地磁盘上的目录内容,输出格式可以是树型图,也可以是URL、HTML、带格式文本文件等形式。

Q:FtpList有什么用?
A:对于喜欢下载的人来说,如果某些FTP比较难连,可以用FtpList整理出这些FTP服务器的URL列表,然后把URL粘贴到FlashGet等下载工具中,这样就可以用比普通FTP工具更可靠、更执着的专业下载工具,一天24小时不停地进行重试,直到下载到为止。
对于FTP站点管理员或普通用户来说,可以用FtpList生成本地目录的树型图,便于管理、宣传。

Q:FtpList有什么特点?
A:FtpList具有以下特点:

  1. 采用底层FTP协议,发送一次LIST -R命令即可获得指定目录及其下所有子目录(包括隐含子目录)的全部信息,中间的所有目录切换工作由FTP服务器本身完成,大大减少了传输交互过程。
  2. 如果FTP服务器软件不支持LIST -R命令,也可以由FtpList自己逐级周游服务器目录。这种方式与前一种方式相比,对服务器资源占用略小,但是通讯过程大大麻烦,速度也比前一种慢。
  3. 可选是否采用PASV模式。
  4. 支持站点记忆,即如果需要经常访问某些站点,可以把站点的host/port、username/password存储起来,以后用的时候调入即可,省去输入的烦恼。
  5. 可以列本地磁盘中的内容。
  6. 输出格式可选,可以直接输出URL列表,也可以输出树型图,输出树型图时还可以选择是否输出文件长度等信息。

Q:FtpList有哪些限制?
A:FtpList不是万能的,存在以下限制:

  1. FtpList没有自动重连的功能。如果站点较大、内容较多,列表需要的时间可能会很长,这会增加链接丢失的机会。因此在这种情况下,建议一次只列出FTP上的一个主目录,多列几次还是可以得到整个站点的信息的。
  2. 为了加快显示树型图、URL列表的速度,显示前会在系统临时目录下生成临时文件,显示完成后自动删除。因此请保证系统盘有足够的剩余空间。

Q:为什么有些FTP的文件列不出来,或者只能列第一级目录?有什么解决方法?
A:可能的原因有两个:

  1. 最常见原因是FTP服务器不支持PASV方式,解决的办法很简单:清除PASV选项即可。
  2. 也有可能是FTP服务器不支持LIST -R命令,把“Use LIST -R command”选项清掉就可以了。

Q:为什么在有些机器上中文文件名、目录会显示成乱码?
A:在某些版本的Windows 9x下,由于DLL的问题,在FtpList的显示窗口中可能会出现中文显示不正确的问题。这个时候不要管它,直接存盘,然后用记事本(Notepad)、Word打开保存的文件就可以了。存盘的文件不会出现乱码。

Q:我需要为使用、转载FtpList付费吗?
A:FtpList是一个“友情软件”(Friendware),用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的条件下,不需要为使用该软件负任何费用,最多是在动漫讨论区看到我发帖子灌水时,进去捧个人场,作为友情回报,或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用FtpList的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。

使用说明

一、获取FTP文件列表

在“FTP Server”框中,输入Host(服务器地址)、Port(端口)、User(用户名)、Password(密码)、Remote path(FTP上的起始目录),确定是否采用PASV方式。如果有防火墙(firewall),再点框中的“Firewall”按钮,在弹出的对话框中对防火墙进行设置。如果需要经常访问此站点,可以点框中的“Save”按钮保存,以后用的时候点“Load”按钮即可再调入。

“FTP Server”框中内容设置完成后,点外面的“Go”按钮即可开始获取目录信息。获取过程的中间信息会显示在窗口下方的信息框中。数据传输完成后,系统自动对收到的信息进行解释,然后显示出目录的树型结构。

如果不幸说明也没列出来,把PASV选项去掉试试。如果不幸目录只列出了一层,那么恭喜,您中奖了:对方服务器不支持LIST -R命令。这时可以将“Use LIST -R command”选项去掉,再点Go,就可以列出下级目录了。这种强迫方式的数据通讯量比用LIST -R命令要大得多,在网络拥堵的时候可能会列不全,因此建议只有在确信服务器不支持LIST -R命令时才用。

如果希望在输出的树型图中只列出目录结构,而不包含目录中的文件,可以在“Output”框中清除“Show files”选项,然后点“Tree”按钮。如果希望在树型图中使用英文字符而不是中文字符,可以清除“Use Chinese character”选项,然后点“Tree”按钮。如果希望树型图中只包含文件名和目录名,不包括长度信息,可以清除“Verbose mode”选项,然后点“Tree”按钮。

如果希望输出FTP的URL列表,以便粘贴到FlashGet等下载工具中,可以点击“Output”框中的“URL”按钮。如果希望在URL中直接包含用户名和密码,可以在选中“With user and password”选项后再点“URL”按钮。如果在树图中看到某些目录下面没有列出文件,可以清除“Show files”选项,列出所有目录,然后再对怀疑列不全的目录重新列表。

如果希望得到HTML格式的输出,便于从中选择需要的链接,直接用鼠标拖到FlashGet上下载,则可以点击“Output”框中的“HTML”按钮。

如果希望将FTP上的文件列表导入数据库或Excel工作表,可以点击“Output”框中的“List”按钮,输出的结果是一个用制表符(\t)分割的文本文件,第一列是目录,第二列是文件名,第三列是文件大小。

如果希望保存输出结果,点“Save”按钮,在弹出的对话框中选择目标文件即可。

二、获取本地目录列表

点击“Local”按钮,在弹出的对话框中选择需要列出的目录即可。对输出结果的处理同前。

附录A 鸣谢

本程序的FTP通讯部分参考了Phil Anderson在codeguru上发表的A simple FTP client class。

附录B 版本更新记录

Version 1.14
新增功能:在列表区增加右键菜单,方便需要进行复制操作的用户。

Version 1.13
1、新增功能:HTML格式输出。输出结果是一个HTML文件,并且在输出后自动调用IE打开这个文件,需要下载其中的哪个链接直接用鼠标拖到FlashGet即可。适用于需要从站点文件中选择下载的情况。
2、新增功能:LIST方式输出。这种输出的结果是一个用制表符(\t)分割的文本文件,第一列是目录,第二列是文件名,第三列是文件大小。这种格式的文件适于导入数据库或Excel工作表。

Version 1.12
新增功能:在列URL的时候,增加“Show files”选项。这个选项缺省是选中的,如果在树图中看到某些目录下面没有列出文件,可以清除这个选项,列出所有目录,然后再对怀疑列不全的目录重新列表。
功能改进:在列目录的过程中,允许中断。
功能改进:改写了Phil Anderson在codeguru上发表的A simple FTP client class,将基于CSocket、CAsyncSocket的CFTPClient类,改写成基于纯socket函数、无阻塞的类,在此基础上实现了用LIST -R命令时的中断功能。原先用MFC的CFtpConnection类写的不用LIST -R命令列表的代码也被彻底放弃,统一到新类上来。套句IT流行语:“俺终于也掌握‘黑心’技术咧!”
功能改进:临时文件不再使用C盘根目录下固定的文件,而是在系统临时目录中创建,这样就取消了一次只能运行一个FtpList的限制。
功能改进:输出结果大于10MB时,改为直接存盘,不再在信息显示窗口中显示,以免浪费时间和内存。
功能改进:以前在滚动窗口中显示收到的所有信息,这些信息也是需要内存来存储的。现在改为只显示收到的最新信息,以减少无谓的内存消耗。
错误修正:点Local按钮列本地目录,或不用LIST -R列FTP目录的时候,最上层目录的长度总计不正确。

Version 1.10a
新增功能:如果“Verbose mode”选项被选中(缺省为选中),在输出目录项的时候,除了输出该目录下的子目录数、文件数、文件长度外,还输出此目录下所有各级子目录中的文件长度之和。这个功能将有助于了解FTP或本地硬盘中占据资源最多的目录,也可用于清点FTP或硬盘中的收藏数量。

Version 1.10
新增功能:增加“Use LIST -R command”选项。如果此选项被选中(缺省为选中),则FtpList将使用高效、可靠的LIST -R命令获取服务器目录信息。但是LIST -R命令并不是所有服务器都支持的,在不支持的服务器上用LIST -R命令只能返回第一级目录。这时就可以清除这个选项,强制FtpList逐级周游服务器目录,以获取完整目录结构。

Version 1.09
新增功能:增加“Verbose mode”选项。如果此选项被选中(缺省为选中),则在输出树型图的时候,在目录项后面会附加目录下的子目录数、文件数、文件总长度,在文件后面会附加文件长度。

Version 1.08
功能修正:目录、文件按照字母顺序排列。

Version 1.07
新增功能:用户可以选择是否采用PASV方式。
新增功能:将Go按钮设置为缺省按钮,即按回车键相当于点击Go按钮。
错误修正:在数据包边界部分,可能会因半个汉字而造成乱码。
错误修正:如果Remote Path不为空,该子目录下的文件和目录会被重复列出。
错误修正:某些包含特定字符的目录列不出来。

Version 1.06
功能增强:某些FTP服务器在返回目录信息的时候,可能会漏掉目录下的子目录信息,这时FtpList可以根据后面的信息重建目录树。

Version 1.05
anonymous首字母改成小写,与某些FTP服务器兼容。

Version 1.04
错误修正:非标准端口号在URL输出时位置不正确。

Version 1.03
错误修正:在选择“With user and password”后点URL,输出结果中的协议名称错误,并且不包含非标准端口号。

Version 1.02
1、修正Version 1.01的存盘错误。
2、采用中间文件进行过渡,加快显示速度。

Version 1.01
重新定义了部分数据结构及算法,减少内存消耗。

Version 1.00
能够列出FTP、本地目录的树型图、URL列表。

需要下载和更新的请到这:http://www.comicer.com/stronghorse/software/index.htm#FtpList
回复

使用道具 举报

发表于 2008-4-22 12:14:48 | 显示全部楼层
你太了不起了,一口气说了别人一周才能学完的内容,这个论坛就是好人多!
回复

使用道具 举报

发表于 2008-4-23 12:17:43 | 显示全部楼层
很详细,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-9-23 05:15 , Processed in 0.139785 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表