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