Message282797
The solution for the OP's problem is:
* after closing the data socket (whether it was returned by `transfercmd()'/`ntransfercmd()' or opened manually), an additional `FTP.getresp()'/`FTP.voidresp()' is required to process the 226 response.
The built-in `retrbinary()' and `retrlines()' do implement this logic.
But the documentation doesn't mention this requirement in `transfercmd()'/ntransfercmd()` entries (and `getresp()'/`voidresp()' are undocumented outright).
`urllib' authors have fallen into this same trap: they use `transfercmd' directly but don't call `voidresp()' afterwards. |
|
Date |
User |
Action |
Args |
2016-12-09 19:09:00 | Ivan.Pozdeev | set | recipients:
+ Ivan.Pozdeev, giampaolo.rodola, peterpan |
2016-12-09 19:09:00 | Ivan.Pozdeev | set | messageid: <1481310540.43.0.289514798463.issue25458@psf.upfronthosting.co.za> |
2016-12-09 19:09:00 | Ivan.Pozdeev | link | issue25458 messages |
2016-12-09 19:09:00 | Ivan.Pozdeev | create | |
|