J'essaye de connecter mon programme micropython qui tourne sur mon Raspberry Pi Pico à un serveur FTP Filezilla Server installer sur un PC distant en FTP_TLS
J'utilise les bibliothèques ftplib.py et ftplibtls.py mais qui sont écrites pour ESP
J'arrive a me logger et a m'authentifier :
Mais j'ai le message : 150 Starting data transfer et puis plus rien d'autre.
J'ai vérifié mes autorisations de pare-feu sur mon serveur (j'ai essayé sans pare-feu aussi)
Je suis en mode Passif
Mais je n'arrive pas à lire le contenu du répertoire sur mon serveur avec le code suivant :
```
def retrlines(self, cmd, callback=None):
"""Retrieve data in line mode.
A new port is created for you.
Args:
cmd: A RETR, LIST, or NLST command.
callback: An optional single parameter callable that is called
for each line with the trailing CRLF stripped.
[default: print]
Returns:
The response code.
"""
if callback is None:
callback = print
self.sendcmd('TYPE A')
print("========= retrlines - ftplib : cmd : ", cmd)
with self.ntransfercmd(cmd)[0] as conn:
print("========= retrlines - ftplib : OK ")
data = conn.recv(1024) # Lire 1024 octets du socket (ajustez la taille selon vos besoins)
print("========= retrlines - ftplib : conn (raw data):", data)
if hasattr(conn, 'makefile'):
print("========= retrlines - ftplib : makefile ")
fp = conn.makefile('rb')
print("========= retrlines - ftplib : makefile (suite)")
else:
fp = conn._sock
n = 1
while True:
print("========= retrlines - ftplib : while true => " , n)
n = n+1
line = fp.readline(MAXLINE + 1).decode()
print("========= retrlines - ftplib : line : ", line)
if not line:
print("========= retrlines - ftplib : not line ")
break
if len(line) > MAXLINE:
raise Error("got more than %d bytes" % MAXLINE)
if self.debugging > 2:
print('*retr*', repr(line))
if line[-2:] == CRLF:
line = line[:-2]
elif line[-1:] == '\n':
line = line[:-1]
callback(line)
print("========= retrlines - ftplib : while false")
# shutdown ssl layer
if _SSLSocket is not None and isinstance(conn, _SSLSocket):
conn.unwrap()
fp.close()
print("========= retrlines - ftplib : close")
return self.voidresp()
items = []
ftp_conn.retrlines("LIST",items.append)
```
En fait, c'est cette commande qui bloque : data = conn.recv(1024) # Lire 1024 octets du socket (ajustez la taille selon vos besoins)
Et je n'ai pas plus d'informations
Quelqu'un pourrait il m'aider ?
Pour rappel, je travaille avec un Raspberry Pi Pico WH (RP2040) avec le Micropython version 1.22.0
Merci d'avance