ftplib本身没有代理功能,ftplib通过socket实现,可以看下ftplib.py的代码,网上有socket实现代理的方法:
下载SocksiPy包(http://),解压以后安装socks.py,就是把这个文件复制到Lib目录,也可以放在当前程序的目录,然后
import socks, socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "地址", 端口)
socket.socket = socks.socksocket
接下来,你就可以照常使用socket了,一切都会悄悄地通过代理出去的~
下面是我根据网上提供的方案写的一段代码,测试成功
![](images/smilies/tk/tk19.gif)
![](zzz/editor/img/code.gif)
程序代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import socket
import socks
from ftplib import FTP
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '你的代理服务器IP地址',端口)
socket.socket = socks.socksocket
ftp = FTP()
ftp.set_debuglevel(1)
ftp.connect('你的FTP地址',21)
ftp.login('FTP用户名','FTP密码')
[
本帖最后由 外部三电铃 于 2010-12-9 12:18 编辑 ]