程序哲学 2019-04-03 12:05 采纳率: 0%
浏览 1106

FTP网址浏览器可访问但代码总连接失败

利用Python的ftplib包连接网络服务器时总是连接失败
图片说明

但是用自己的浏览器可以访问
在网上查询说是FTP服务没开,于是按教程开了FTP服务,也在防火墙上去除了屏蔽,如图所示:

图片说明

但是依然没有用
网上说FTP的默认端口是21,我新建FTP的站点时默认服务端口是80,不知道有没有影响。
首次接触FTP功能,可能理解不透彻,一时找不到解决办法。
以下是我的代码,按照《Python核心编程第3版》的ftp相关章节的示例代码写的。

#! python3
# @Project:  pythondemo - getLatestFTP.py
# @Info   :  利用 ftp包从网站下载文件

import ftplib,os,socket

HOST = 'ftp.debian.org'
DIRN = 'debian/tools'
FILE = 'loadlin.exe'

def main():
    try:
        f = ftplib.FTP(HOST)
    except (socket.error, socket.gaierror):
        print('ERROR: cannot reach %s' % HOST)
        return
    print('***Connnected to host %s' % HOST)

    try:
        f.login()
    except ftplib.error_perm:
        print('ERROR: cannot login anonymously')
        f.quit()
        return
        print('***Logged in as "anonymous"')

    try:
        f.cwd(DIRN)
    except ftplib.error_perm:
        print('ERROR: cannot CD to %s' % DIRN)
        f.quit()
        return
    print('***Changed to %s folder' % DIRN)

    try:
        f.retrbinary('RETR %s' % FILE, open(FILE, 'wb').write())
    except ftplib.error_perm:
        print('ERROR: cannot read file %s' % FILE)
        os.unlink(FILE)
    else:
        print('***Downloaded %s to CMD' % FILE)

    f.quit()

if __name__ == '__main__':
    main()

  • 写回答

2条回答 默认 最新

  • dfadfw 2019-04-03 18:57
    关注

    端口会影响,最好端口一至

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料