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

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 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab