栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python-如何通过代理通过POP或IMAP提取电子邮件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-如何通过代理通过POP或IMAP提取电子邮件?

您无需肮脏地破解imaplib。您可以尝试使用SocksiPy软件包,该软件包支持socks4,socks5和http代理(连接):

像这样的事情,显然,您希望通过自定义

__init__
方法的额外参数来更好地处理setproxy选项。

from imaplib import IMAP4, IMAP4_SSL, IMAP4_PORT, IMAP4_SSL_PORTfrom socks import sockssocket, PROXY_TYPE_SOCKS4, PROXY_TYPE_SOCKS5, PROXY_TYPE_HTTPclass SocksIMAP4(IMAP4):    def open(self,host,port=IMAP4_PORT):        self.host = host        self.port = port        self.sock = sockssocket()        self.sock.setproxy(PROXY_TYPE_SOCKS5,'socks.example.com')        self.sock.connect((host,port))        self.file = self.sock.makefile('rb')

您可以使用IMAP4_SSL进行类似的操作。只需小心将其包装到ssl插槽中

import sslclass SocksIMAP4SSL(IMAP4_SSL):    def open(self, host, port=IMAP4_SSL_PORT):        self.host = host        self.port = port        #actual privoxy default setting, but as said, you may want to parameterize it        self.sock = create_connection((host, port), PROXY_TYPE_HTTP, "127.0.0.1", 8118)        self.sslobj = ssl.wrap_socket(self.sock, self.keyfile, self.certfile)        self.file = self.sslobj.makefile('rb')


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号