繁体   English   中英

在Python中关闭袜子/代理连接

[英]closing a socks/proxy connection in python

我正在编写一些代码,这些代码使用poplib和imaplib通过代理服务器收集电子邮件。

我使用以下方法建立代理连接:

import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4,proxy_ip,port,True)
socket.socket = socks.socksocket

我从stackoverflow帖子中得到的:-

http://stackoverflow.com/questions/3386724/python-how-can-i-fetch-emails-via-pop-or-imap-through-a-proxy

然后,我与电子邮件服务器建立连接:-

server = poplib.POP3(self.host, self.port)
server.user(self.username)
server.pass_(self.password)

我正在单元测试中测试我的代码,并且遇到了一个问题,我认为这与我与代理的连接未正确关闭有关。

一个例子是:

我已经建立了代理连接,并试图与电子邮件服务器建立连接。 作为单元测试的一部分,我故意使用了错误的电子邮件服务器密码。 poplib库抛出一个无法连接的异常。 我在单元测试中捕获到异常,然后继续进行下一个单元测试,并相信poplib库将正确关闭我以前的连接。

我的理解是,这不是一件好事,我应该确保正确关闭电子邮件和代理服务器连接。

我知道如何关闭pop3连接:-

server.quit()

但是不知道如何关闭与代理服务器的连接,或者是否必须关闭。

如果这是问题所在,有人可以帮助我解决这个问题或我的理解:)

无需采取特殊措施。 当您关闭POP连接时,代理连接将自动关闭,因为仅在通过代理连接到某物时才需要它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM