使用Python向同WiFi下FTP服务器上传文件返回530错误如何解决
错误原因
FTP 530响应码代表身份验证失败。Windows文件资源管理器访问匿名FTP服务器时,会自动发送匿名身份凭证完成登录流程,但ftplib不会默认执行该操作,需要你主动调用登录方法。
此外你现有的代码还遗漏了storbinary方法所需的STOR命令前缀,也会导致后续上传请求失败。
修正后的可用代码
import ftplib ftp = ftplib.FTP() # 连接服务器 ftp.connect("111.111.1.11", 1111) # 替换为实际的主机和端口 # 匿名登录,不传参数时默认使用用户名anonymous、密码anonymous@ ftp.login() # 用上下文管理器打开文件,自动处理关闭逻辑 with open('C:/path/to/file/test1.png','rb') as file: # 第一个参数需要加STOR前缀,代表上传存储命令 ftp.storbinary('STOR test.png', file) ftp.quit()
可选调试参数
如果仍然登录失败,可以显式指定匿名登录的凭证,部分严格的匿名FTP服务要求密码符合邮箱格式:
ftp.login(user="anonymous", passwd="test@example.com")
内容的提问来源于stack exchange,提问作者Liam Sutton
相关产品推荐
相关产品推荐

