Forums

Problem connecting via ftp

Hello Everyone. I would connect my python script, hosted on pythonanywhere, to a site that I created on Altervista. The script works well on my machine, but not on the servers of pythonanywhere. What do you think is the problem? Here my script:

HOSTNAME = "ftp.site.altervista.org" USERNAME = "myuser" PASSWORD = "mypw"

with open("db.json","rb") as file:
    ftp_server = ftplib.FTP(host=HOSTNAME,user=USERNAME,passwd=PASSWORD,encoding="Latin-1")

    ftp_server.encoding = "utf-8"
    ftp_server.storbinary("STOR db.json", file)
    ftp_server.dir()
    ftp_server.quit()

Here the output I get:

File "/home/AndreaUbaldo/invia_db.py", line 16, in <module>
    ftp_server = ftplib.FTP(host=HOSTNAME,user=USERNAME,passwd=PASSWORD,encoding="Latin-1") #L'encoding è necessario per il login
  File "/usr/local/lib/python3.10/ftplib.py", line 121, in __init__
    self.connect(host)
  File "/usr/local/lib/python3.10/ftplib.py", line 158, in connect
    self.sock = socket.create_connection((self.host, self.port), self.timeout,
  File "/usr/local/lib/python3.10/socket.py", line 845, in create_connection
    raise err
  File "/usr/local/lib/python3.10/socket.py", line 833, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

here my ftp settings on Altervista:

Parametri di connessione FTP
Host: ftp.site.altervista.org
Porta: 21
Utente: myuser
Password: la stessa che usi per accedere al pannello di controllo di AlterVista
Modalità: passiva (PASV)
Criptazione: Nessuna o TLS esplicito
 Modifica password

Filtro nazione
Per rendere più sicuro il tuo spazio web puoi limitare l'accesso FTP alle connessioni provenienti da una lista di nazioni ammesse.
Svuota la lista se vuoi consentire la connessione FTP da ogni nazione.

Nazioni ammesse:    Tutte le nazioni

Hi there, free accounts are limited to accessing sites on our allowlist.

Ok. Thanks you!