A. java如何测试连接ftp是否通
java测试连接ftp是否连通可以使用判断是否有异常来决定,实例如下:
/**
*connectServer
*连接ftp服务器
*@throwsjava.io.IOException
*@parampath文件夹,空代表根目录
*@parampassword密码
*@paramuser登陆用户
*@paramserver服务器地址
*/
publicvoidconnectServer(Stringserver,Stringuser,Stringpassword,Stringpath)
throwsIOException
{
//server:FTP服务器的IP地址;user:登录FTP服务器的用户名
//password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径
ftpClient=newFtpClient();
ftpClient.openServer(server);
ftpClient.login(user,password);
//path是ftp服务下主目录的子目录
if(path.length()!=0)ftpClient.cd(path);
//用2进制上传、下载
ftpClient.binary();
}
/**
*upload
*上传文件
*@throwsjava.lang.Exception
*@return-1文件不存在
*-2文件内容为空
*>0成功上传,返回文件的大小
*@paramnewname上传后的新文件名
*@paramfilename上传的文件
*/
publiclongupload(Stringfilename,Stringnewname)throwsException
{
longresult=0;
TelnetOutputStreamos=null;
FileInputStreamis=null;
try{
java.io.Filefile_in=newjava.io.File(filename);
if(!file_in.exists())return-1;
if(file_in.length()==0)return-2;
os=ftpClient.put(newname);
result=file_in.length();
is=newFileInputStream(file_in);
byte[]bytes=newbyte[1024];
intc;
while((c=is.read(bytes))!=-1){
os.write(bytes,0,c);
}
}finally{
if(is!=null){
is.close();
}
if(os!=null){
os.close();
}
}
returnresult;
}
/**
*upload
*@throwsjava.lang.Exception
*@return
*@paramfilename
*/
publiclongupload(Stringfilename)
throwsException
{
Stringnewname="";
if(filename.indexOf("/")>-1)
{
newname=filename.substring(filename.lastIndexOf("/")+1);
}else
{
newname=filename;
}
returnupload(filename,newname);
}
/**
*download
*从ftp下载文件到本地
*@throwsjava.lang.Exception
*@return
*@paramnewfilename本地生成的文件名
*@paramfilename服务器上的文件名
*/
publiclongdownload(Stringfilename,Stringnewfilename)
throwsException
{
longresult=0;
TelnetInputStreamis=null;
FileOutputStreamos=null;
try
{
is=ftpClient.get(filename);
java.io.Fileoutfile=newjava.io.File(newfilename);
os=newFileOutputStream(outfile);
byte[]bytes=newbyte[1024];
intc;
while((c=is.read(bytes))!=-1){
os.write(bytes,0,c);
result=result+c;
}
}catch(IOExceptione)
{
e.printStackTrace();
}
finally{
if(is!=null){
is.close();
}
if(os!=null){
os.close();
}
}
returnresult;
}
/**
*取得某个目录下的所有文件列表
*
*/
publicListgetFileList(Stringpath)
{
Listlist=newArrayList();
try
{
DataInputStreamdis=newDataInputStream(ftpClient.nameList(path));
Stringfilename="";
while((filename=dis.readLine())!=null)
{
list.add(filename);
}
}catch(Exceptione)
{
e.printStackTrace();
}
returnlist;
}
/**
*closeServer
*断开与ftp服务器的链接
*@throwsjava.io.IOException
*/
publicvoidcloseServer()
throwsIOException
{
try
{
if(ftpClient!=null)
{
ftpClient.closeServer();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args)throwsException
{
FtpUtilftp=newFtpUtil();
try{
//连接ftp服务器
ftp.connectServer("10.163.7.15","cxl","1","info2");
/**上传文件到info2文件夹下*/
System.out.println("filesize:"+ftp.upload("f:/download/Install.exe")+"字节");
/**取得info2文件夹下的所有文件列表,并下载到E盘下*/
Listlist=ftp.getFileList(".");
for(inti=0;i<list.size();i++)
{
Stringfilename=(String)list.get(i);
System.out.println(filename);
ftp.download(filename,"E:/"+filename);
}
}catch(Exceptione){
///
}finally
{
ftp.closeServer();
}
}
}
B. ftp通不通的判断依据
能ping通,说明物理上是通的。
ftp通不通,要看客户端连接后能不能看到目录,能不能下载文件。
一要看有没有权限,二连接参数对不对,
用ftp客户端连接服务端试试。
C. C# 判断FTP通不通
Processda=newProcess();
da.StartInfo.FileName="cmd.exe";
da.StartInfo.UseShellExecute=false;
da.StartInfo.RedirectStandardInput=true;
da.StartInfo.RedirectStandardOutput=true;
da.StartInfo.RedirectStandardError=true;
da.StartInfo.CreateNoWindow=true;
da.Start();
da.StandardInput.WriteLine("ping192.168.0.1");//这里就是你ftp的域名或者ip地址
stringstrRst=da.StandardOutput.ReadToEnd();
Console.WriteLine("{0}",strRst);//这里根据返回的内容判断是否能连上
D. 用什么命令查看Telnet,FTP端口是否开放
同时按住【win】+【R】键,在本机运行窗口输入cmd,进入dos界面
在dos界面输入命令:telnet 127.0.0.1 8080
注意:telnet 空格 【地址】 空格 【端口号】
若提示:'telnet' 不是内部或外部命令,也不是可运行的程序或批处理文件。
则说明:端口号127.0.0.1 8080 不通
4
链接成功,端口正常,则进入telnet页面(全黑的),证明端口可用
E. 如何检测linux系统下ftp服务器是否开启
检测linux系统下ftp服务器是否开启的方法如下:
1、第一步,打开一台Linux的电脑,进入到输入shell指令的命令行状态下,如下图所示。
F. LINUX系统什么命令是查FTP是否打开
第一步,输入命令:netstat -tlnp
列出系统里面监听网络的TCP连接和相应的进程PID。
参数说明:
-t:表示列出TCP连接
-l:表示列出正在网络监听的服务
-n:表示以端口号来显示
-p:表示列出进程PID
第二步,看看Local Address这一列下面有没有端口号是21的那一行,或者看Program name这一列下面有没有FTP程序。
G. 如何测试是否与FTP的连接通畅
1. 不用管是否通畅,取远程FTP文件大小和取下来的文件大小做对比,一样就OK
2. 真要60S一次也可以:每次丢个临时文件上去,判断是否传上去了,OK后,删除临时文件(当然,这个方法可能有点...)
3. socket 判断 远程IP的 21端口是否通畅!
H. 怎么检验ftp端口是否开放
1.可以在cmd命令提示符下使用netstat命令查看端口是否开放,也可以查看ftp服务是否打开。ftp默认的端口号21,可以通过命令来查看
I. LINUX系统什么命令是查FTP是否打开
检查Linux系统上FTP服务是否开启:
1.通过查询提供FTP服务的进程是否存在
[root@localhostroot]#ps-ef|grepftp
#并未找到任何包含ftp关键字的进程信铅差腊息,可判断服务未开启。
2.通过查询是vsftpd服务是否存在
[root@localhostroot]#servicevsftpdstatus
#vsftpd是最常见的FTP服务器,发现stopped状态即为关闭。
3.开启庆轿Linux上的FTP服务
[root@localhostroot]#servicevsftpdstart
Startingvsftpdforvsftpd:槐滑[OK]
#再次查看发现已经处于启动状态:
[root@localhostroot]#servicevsftpdstatus
vsftpd(pid4510)isrunning...
J. FTP连接失败的原因
考虑以下原因:
1、防火墙挡住了
2、没有查看内容的权限
3、网管屏蔽了FTP端口
默认是pasv模式,因为服务端防火墙的设置,客户端不能用pasv模式,将设置中的pasv模式置为空,就正常了
FTP连接服务器失败的原因一般有以下几种:
1、网络不通导致FTP连接服务器失败
有时可能是由服务器或者电脑本地网络有问题,导致FTP连接服务器失败。可以通过浏览器查看网页测试是否是网络问题。
2、服务器出现宕机、死机、重启等情况
我们在租用服务器时,都会对服务器的访问速度及稳定性进行考察。服务器出现右机、死机、重启等情况不仅会导致FIP连接服务器失败,也直接导致网站无法正常运营,从而影响网站优化排名及用户体验。如果出现此情况,尽快联系服务器提供商进行解决。
3、防火墙设置出现问题导致服务器连接失败查看我们的防火墙设置是否勾选了“PASV模式”,如果勾选,那么将取消,然后尝试重新连接。
4、FTP软件出现问题导致连接服务器失败有时我们会忘记对软件的及时更新,所以导致使用的FTP软件版本过低或者被停用,再或者该软件出现了问题。此时我们可以先删除现有软件,然后重新安装。
5、短时间内连接服务器次数过多
可能由于FTP连接服务器的速度稍微有些慢,我们等待的比较着急,就不停地点击连接按钮,导致短时间内容连接次数过于频繁而连接失败。
6、服务器被ISP屏蔽导致FTP连接服务器失败判断服务器是否被ISP屏蔽,可以通过使用代理服务器进行连接测试。
7、租用的服务器后台被关闭
如果以上几种情况都被排除,那么很有可能是我们所租用的服务器后台被关闭了,此时需要连接服务器提供商进行核查与修改。
FTP连接服务器失败的原因有很多,基本比较常见的情况就是以上几种。为保障网站的正常运营,当出现FTP服务器失败的情况,应及时检查其原因并解决。
拓展资料:
FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。