久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Ftplib ConnectionRefusedError:[Errno 111] 連接被拒絕(pyt

Ftplib ConnectionRefusedError: [Errno 111] Connection refused (python 3.5)(Ftplib ConnectionRefusedError:[Errno 111] 連接被拒絕(python 3.5))
本文介紹了Ftplib ConnectionRefusedError:[Errno 111] 連接被拒絕(python 3.5)的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個應該連接到 FTP 的腳本

I have a script that should connect to a FTP

from ftplib import FTP

with FTP('IP') as ftp:
   ftp.login(user='my user', passwd='my password')
   ftp.cwd('/MY_DIR')
   ftp.dir()

我有一個錯誤:ConnectionRefusedError: [Errno 111] 連接被拒絕

ftp 是一個帶有 vsftpd 的 EC2

The ftp is an EC2 with vsftpd

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
pasv_address=IP
pasv_addr_resolve=YES

已經試過了:

代碼適用于其他有和沒有 TLS 的 FTP(托管在 1and1,OVH...)

Already tried :

The code work on other FTP with and without TLS (hosted on 1and1, OVH...)

我在 NodeJS 中嘗試過這個腳本

I tried this script in NodeJS

const ftpClient = require('ftp-client');

const client = new ftpClient({
   host: "IP",
   port: 21,
   user: "My user", // defaults to "anonymous"
   password: "My password" // defaults to "@anonymous"
});

client.connect(() => {

  client.download('/MY_DIR/file','/tmp/file', (res) => {
        console.log(res)
  })
});

工作得很好,所以我排除了防火墻問題

Works perfectly fine so I exclude a firewall problem

我已嘗試啟用 TLS

I have tried enable TLS

ssl_enable=YES
require_ssl_reuse=NO

那么sudo service vsftpd 重啟

then sudo service vsftpd restart

并使用
FTP_TLS 而不是 FTP但沒有工作

and use
FTP_TLS instead of FTP but did not work

我也嘗試通過設置禁用被動模式

Also I tried disable passive mode by setting

pasv_enable=NO

那么sudo service vsftpd restart

ftp.set_pasv(False)

也沒有用

推薦答案

解決方案

使用filezilla調試該方法后,發現盡管我們在/etc/vsftpd.conf中定義了,我們的FTP還是返回0.0.0.0

pasv_adress=IP

這篇文章幫助了我們:https://www.centos.org/論壇/viewtopic.php?t=52408

你必須評論

listen_ipv6=YES

并啟用

listen=YES

/etc/vsftpd.conf

如果您無法訪問 FTP 的 vsftpd.conf,您也可以覆蓋 ftplib 的類 FTP

Also you can override the ftplib's class FTP if you can't access to vsftpd.conf of the FTP

class CustomFTP(ftplib.FTP):

    def makepasv(self):
        if self.af == socket.AF_INET:
            host, port = ftplib.parse227(self.sendcmd('PASV'))
        else:
            host, port = ftplib.parse229(self.sendcmd('EPSV'), self.sock.getpeername())

        if '0.0.0.0' == host:
            """ this ip will be unroutable, we copy Filezilla and return the host instead """
            host = self.host
        return host, port

如果發送 '0.0.0.0' 則強制上一個主機

to force the previous host if '0.0.0.0' is send

這篇關于Ftplib ConnectionRefusedError:[Errno 111] 連接被拒絕(python 3.5)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Why I cannot make an insert to Python list?(為什么我不能插入 Python 列表?)
Insert a column at the beginning (leftmost end) of a DataFrame(在 DataFrame 的開頭(最左端)插入一列)
Python psycopg2 not inserting into postgresql table(Python psycopg2 沒有插入到 postgresql 表中)
list extend() to index, inserting list elements not only to the end(list extend() 索引,不僅將列表元素插入到末尾)
How to add element in Python to the end of list using list.insert?(如何使用 list.insert 將 Python 中的元素添加到列表末尾?)
TypeError: #39;float#39; object is not subscriptable(TypeError:“浮動對象不可下標)
主站蜘蛛池模板: 国产成人综合视频 | 免费三片在线观看网站v888 | 国产精品视频一区二区三区 | 免费av在线播放 | 国产精品一区在线播放 | 亚洲一区二区三区四区在线 | 四虎在线视频 | 久久久久久久久久久久久久久久久久久 | 日韩专区在线观看 | 免费黄色一级片 | 免费不卡视频 | 亚洲精品系列 | 久久久久成人网 | 久久免费看视频 | 一区二区三区在线免费观看 | 天堂在线中文资源 | 日韩精品国产一区 | 亚洲成人天堂 | 欧美激情视频一区二区三区 | 日韩精品免费观看 | 伊人综合影院 | 国产精品久久久久久妇女6080 | 亚洲一级片 | 精品黑人一区二区三区国语馆 | 日本国产一区 | 国产在线小视频 | 国产精品永久久久久久久久久 | 在线不欧美| www.日日日 | 九九影视理伦片 | 狠狠se| 欧美国产日韩一区 | 亚洲欧美高清 | 国产精品乱 | 性欧美69| 国产成人午夜 | 色综合久久天天综合网 | 永久免费看片在线播放 | 国产极品在线观看 | 天天拍天天干 | 国产浮力第一页 |