我使用Notepad ++及其NppFTP插件.我需要保持本地副本是最新的,因此我编辑本地文件,然后将它们上传到服务器.我想知道Notepad ++是否有办法在我保存后自动将文件上传到服务器,而不必按下另一个按钮.
我愿意使用其他FTP程序,但我宁愿坚持使用Notepad ++作为文本编辑器
我正在使用Apache Commons FTP上传文件.在上传之前,我想检查服务器上是否已存在该文件,并从该服务器备份到同一服务器上的备份目录.
有谁知道如何将文件从FTP服务器复制到同一台服务器上的备份目录?
public static void uploadWithCommonsFTP(File fileToBeUpload){
FTPClient f = new FTPClient();
FTPFile backupDirectory;
try {
f.connect(server.getServer());
f.login(server.getUsername(), server.getPassword());
FTPFile[] directories = f.listDirectories();
FTPFile[] files = f.listFiles();
for(FTPFile file:directories){
if (!file.getName().equalsIgnoreCase("backup")) {
backupDirectory=file;
} else {
f.makeDirectory("backup");
}
}
for(FTPFile file: files){
if(file.getName().equals(fileToBeUpload.getName())){
//copy file to backupDirectory
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
编辑过的代码:仍有问题,当我备份zip文件时,备份文件已损坏.
有没有人知道它的原因?
public static void backupUploadWithCommonsFTP(File fileToBeUpload) {
FTPClient f = new FTPClient();
boolean backupDirectoryExist = false;
boolean fileToBeUploadExist = …Run Code Online (Sandbox Code Playgroud) 我需要连接到能够使用lftp成功连接的FTPS服务器.但是,当我尝试使用Python ftplib.FTP_TLS时,它会超时,堆栈跟踪显示它正在等待服务器发送欢迎消息等.有谁知道问题是什么以及如何克服?我想知道是否需要在服务器端进行某些操作,但是lftp客户端如何正常工作.任何帮助是极大的赞赏.
这是堆栈跟踪:
ftp = ftplib.FTP_TLS()
ftp.connect(cfg.HOST, cfg.PORT, timeout=60)
File "C:\Users\username\Softwares\Python27\lib\ftplib.py", line 135, in connect
self.welcome = self.getresp()
File "C:\Users\username\Softwares\Python27\lib\ftplib.py", line 210, in getresp
resp = self.getmultiline()
File "C:\Users\username\Softwares\Python27\lib\ftplib.py", line 196, in getmultiline
line = self.getline()
File "C:\Users\username\Softwares\Python27\lib\ftplib.py", line 183, in getline
line = self.file.readline()
File "C:\Users\username\Softwares\Python27\lib\socket.py", line 447, in readline
data = self._sock.recv(self._rbufsize)
socket.timeout: timed out
Run Code Online (Sandbox Code Playgroud)
使用lftp成功登录到同一个ftps服务器:
$ lftp
lftp :~> open ftps://ip_address:990
lftp ip_address:~> set ftps:initial-prot P
lftp ip_address:~> login ftps_user_id ftps_user_passwd
lftp sftp_user_id@ip_address:~> ls
ls: Fatal error: …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取我们在服务器上的所有文件的列表(特别是我们在那里的每个pdf文件).我尝试使用总指挥官并搜索文件.它在某种程度上起作用,因为我得到了我们在那里的每个pdf的列表,但是无法导出结果(我们有100.000+个文件)
我已经尝试使用bash脚本来获取信息,但我对linux不是很有经验,而且我真的不知道我在做什么.
我的脚本看起来像这样:
#!/bin/bash
hostname="<host>"
ftp -i -nv $hostname << EOF
user <username> <password>
ls -R
EOF
Run Code Online (Sandbox Code Playgroud)
运行上面的脚本我得到
?Invalid command
501 Illegal PORT command
ftp: bind: Address already in use
221 Goodbye
Run Code Online (Sandbox Code Playgroud)
任何帮助或指向我搜索什么将不胜感激.
我在ForeFront TMG 7.0和公共远程ftp服务器后面有一台电脑.已安装TMG客户端.Windows防火墙已关闭.防病毒:McAfee病毒扫描企业版(8.8)+ AntySpyware Enterprize(8.8)+无插件.防病毒测试开启和关闭.
它无法通过Java和Php连接到服务器.Filezilla,explorer.exe和Go-written程序连接没有问题.
对于Java,我得到ConnectionRefused错误:
java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:182)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
Run Code Online (Sandbox Code Playgroud)
无论我如何尝试通过Java连接:
Semetimes它在等待5分钟后拖出连接超时.而错误是超时异常.所有varians都使用直接连接,全局代理,ftp代理,http代理及其所有组合进行测试.所有变体都通过IP和主机名进行测试.
也无法连接的Php代码示例:
<?php
$host = "ftphost";
$connect = ftp_connect($host,21);
if(!$connect)
{
echo("Error: $host");
exit;
}
else
{
echo("Cheers: $host");
}
?>
Run Code Online (Sandbox Code Playgroud)
但filezilla连接没有问题.Explorer连接没有问题.Go-written程序连接没有问题.
有什么想法可以阻止java和php?如何确定阻止JRE和Apache的策略或程序设置?
我的应用程序正在监视用户可以上传文件的一组文件夹.文件上传完成后,我必须应用处理,但我不知道如何检测文件还没有完成上传.
有没有办法检测FTP服务器是否还没有发布文件?
这个问题符合这个问题,我试图连接到安全的FTP服务器,它无法连接,奇怪的部分是我能够做ssh并连接到服务器,但当我尝试从PHP做到这一点代码使用几种不同的方法,但它不起作用
处理办法:
ftp_connect & ftp_loginftp_ssl_connectssh2_sftpssh2-scp-send&ssh2-scp-receive - 还没有尝试过这种方法,但在评论部分推荐,因此可以对此进行处理,并将在稍后发布更新.方法1的代码:
$ftp_server = "ftp://username:password@192.168.1.1:21/{$log_file_name}";
$opts = array('ftp' => array('overwrite' => TRUE));
$context = stream_context_create($opts);
$put_file = file_put_contents($ftp_server, $response, LOCK_EX,$context);
Run Code Online (Sandbox Code Playgroud)
这里也无法连接到安全的FTP服务器,有关为什么它无法连接的任何建议?
方法2的代码:
ftp_server = 'www.server.com';
$conn_id = ftp_connect($ftp_server) or die ("Cannot connect to host");
//Program dies out here and give error message "Cannot connect to host",
//but why ftp_login does not work here, Any Suggestions ?
$ftp_user_name = "login";
$ftp_user_pass = "password";
// login with …Run Code Online (Sandbox Code Playgroud) 我有一些as3代码成功打开到我的FTP服务器的2个套接字连接.一个用于命令,一个用于数据.我正在使用STOR命令在FTP服务器上创建一个文件,然后使用writeBytes从byteArray发送编码的jpeg.然后我刷新数据套接字并成功关闭它.
所有这一切看起来都很好,除了byteArray长度为826字节,我最终得到的文件在ftp服务器上只有817字节,这并不奇怪,因为它不被认为是jpeg.
有任何想法吗?
我试图将文件从Windows服务器上传到unix服务器(基本上尝试做FTP).我使用下面的代码
#!/usr/bin/python
import ftplib
import os
filename = "MyFile.py"
ftp = ftplib.FTP("xx.xx.xx.xx")
ftp.login("UID", "PSW")
ftp.cwd("/Unix/Folder/where/I/want/to/put/file")
os.chdir(r"\\windows\folder\which\has\file")
ftp.storbinary('RETR %s' % filename, open(filename, 'w').write)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "Windows\folder\which\has\file\MyFile.py", line 11, in <module>
ftp.storbinary('RETR %s' % filename, open(filename, 'w').write)
File "windows\folder\Python\lib\ftplib.py", line 466, in storbinary
buf = fp.read(blocksize)
AttributeError: 'builtin_function_or_method' object has no attribute 'read'
Run Code Online (Sandbox Code Playgroud)
还MyFile.py删除了所有内容.
任何人都可以告知出了什么问题.我读过ftp.storbinary用于使用FTP上传文件.
我正在使用Bitbucket来管理我的私人存储库.
我希望将每次提交时正在更新的文件部署到ftp服务器.
我谷歌了,发现了许多脚本,但无法成功.ftp服务器是共享托管服务器,由Filezilla以FTP显式连接模式访问.
我不想使用任何第三方在线应用程序.
请指导我一步到解决方案.
我想用这个
但是必须在Bitbucket帐户的部署密钥中输入哪个密钥?私人还是公共?