首页 > 解决方案 > python ftplib 打开文件并检查密码是否合适

问题描述

我是 python 新手,目前正在努力解决以下问题:

我需要合并:

for line in open(dictionaryFile, "r").readlines():
    [username, password] = line.strip().split()

进入该代码:

 import ftplib 

 def anonLogin(hostname):
  try:
    ftp = ftplib.FTP(hostname)
    ftp.login('anonymous', '')
    print('\n[*] ' + str(hostname) +\
      ' FTP Anonymous Logon Succeeded.')
    ftp.quit()
    return True
  except:
    print('\n[-] ' + str(hostname) +\
    ' FTP Anonymous Logon Failed.')
    return False
host = '127.0.0.1'
anonLogin(host)

该脚本应该通过一个包含用户名/密码组合的文件并检查登录是否成功。

非常感谢任何帮助。

谢谢

标签: pythonreadlineftplib

解决方案


这是一个主要思想。您需要一个循环来重新读取文件中的所有行(不要忘记关闭它)并尝试使用当前的登录名和密码对连接到服务器。如果建立连接,登录名和密码将打印在控制台中。

import ftplib


def anonLogin(hostname, username, password):
    try:
        ftp = ftplib.FTP(hostname)
        ftp.login(username, password)
        print(f'\n[*] {hostname} FTP Anonymous Logon Succeeded.')
        ftp.quit()
        return True
    except Exception:
        print(f'\n[-] {hostname} FTP Anonymous Logon Failed.')
        return False


host = '127.0.0.1'
dictionaryFile = 'file_path'

f = open(dictionaryFile, 'r')

for line in f.readlines():
    [username, password] = line.strip().split()
    connection = anonLogin(host, username, password)
    if connection:
        print(f'\n {username} {password}')

f.close()

推荐阅读