zdgtl 11 months ago
zdgtl #coding

FTP login Checker

Python script that checks if an FTP login account is valid:

import ftplib

def check_ftp_login(host, username, password):
    try:
        # Attempt to establish an FTP connection
        ftp = ftplib.FTP(host)
        
        # Try to login with the provided credentials
        ftp.login(username, password)
        
        # If login is successful, close the connection and return True
        ftp.quit()
        return True
    
    except ftplib.error_perm as e:
        # If there's a permission error (e.g., invalid credentials), return False
        print(f"Login failed: {str(e)}")
        return False
    
    except Exception as e:
        # If there's any other error, print it and return False
        print(f"An error occurred: {str(e)}")
        return False

# Example usage
if __name__ == "__main__":
    ftp_host = "ftp.example.com"
    ftp_username = "your_username"
    ftp_password = "your_password"
    
    if check_ftp_login(ftp_host, ftp_username, ftp_password):
        print("Login successful!")
    else:
        print("Login failed.")

Load From File

modified the script to load accounts from a file, save valid accounts to another file, and add a timeout for server connections. Here's the updated version
import ftplib
import socket

def check_ftp_login(host, username, password, timeout=10):
    try:
        # Attempt to establish an FTP connection with timeout
        ftp = ftplib.FTP()
        ftp.connect(host, timeout=timeout)
        
        # Try to login with the provided credentials
        ftp.login(username, password)
        
        # If login is successful, close the connection and return True
        ftp.quit()
        return True
    
    except ftplib.error_perm as e:
        # If there's a permission error (e.g., invalid credentials), return False
        print(f"Login failed for {username}@{host}: {str(e)}")
        return False
    
    except (socket.timeout, socket.error) as e:
        # If there's a timeout or connection error, print it and return False
        print(f"Connection error for {host}: {str(e)}")
        return False
    
    except Exception as e:
        # If there's any other error, print it and return False
        print(f"An error occurred for {username}@{host}: {str(e)}")
        return False

def load_accounts(filename):
    accounts = []
    with open(filename, 'r') as f:
        for line in f:
            host, username, password = line.strip().split(',')
            accounts.append((host, username, password))
    return accounts

def save_valid_account(filename, host, username, password):
    with open(filename, 'a') as f:
        f.write(f"{host},{username},{password}\n")

# Main script
if __name__ == "__main__":
    accounts = load_accounts('accounts.txt')
    
    for host, username, password in accounts:
        if check_ftp_login(host, username, password):
            print(f"Login successful for {username}@{host}")
            save_valid_account('valid.txt', host, username, password)
        else:
            print(f"Login failed for {username}@{host}")
0
500
TMDB Movie Scraper

TMDB Movie Scraper

1743468932.jpg
zdgtl
11 months ago
Video Thumbnail Generator

Video Thumbnail Generator

1743468932.jpg
zdgtl
11 months ago

Check File

This script will help you efficiently check for the existence of file across multiple URLs...

1743468932.jpg
zdgtl
11 months ago

AWS DATA

1743468932.jpg
zdgtl
11 months ago
Mass Copy Files

Mass Copy Files

1743468932.jpg
zdgtl
11 months ago