2012-04-18 4 views
0

poplib 및 imaplib을 사용하여 프록시 서버를 통해 이메일을 수집하는 코드를 작성 중입니다.Python에서 양말/프록시 연결 닫기

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

나는 유래 포스트에서 가져온 : - - :

나는 프록시 연결을 설정하려면 다음을 사용

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) 

내 코드를 unittest에서 테스트하고 있으며 내 테스트와 관련된 문제가 발생했습니다. 프록시와의 연결이 제대로 닫히지 않습니다.

예는 다음과 같습니다 -

나는 프록시 연결을 설정하고 이메일 서버와의 연결을 시도하고있다. unittest의 일환으로 의도하지 않게 잘못된 이메일 서버 비밀번호를 사용합니다. poplib 라이브러리가 연결할 수없는 예외를 throw합니다. 나는 unittest에서 예외 상황을 발견하고, 다음 unittest로 이동하여, poplib 라이브러리가 이전 연결을 적절히 닫을 것이라고 믿는다.

제 생각에 이것은 좋은 것은 아니며 전자 메일 및 프록시 서버 연결이 제대로 닫혀 있어야합니다. 내가 그렇게 할 경우

server.quit() 

그러나 프록시 서버와의 연결을 종료하는 방법을 모르거나 - :

내가는 POP3 연결을 종료하는 방법을 알고있다. 문제가 자리하고있는 곳 :

답변

0

특별한 조치가 필요하지 않습니다 그건 경우

사람이 질문 또는 내 이해 좀 도와 주 시겠어요. POP 연결을 닫으면 프록시 연결은 자동으로 닫힙니다. 프록시를 통해 무언가에 연결되어있을 때만 필요하기 때문입니다.

+0

나는 당신의 relpy을 대단히 감사합니다, 그것이 내가 바라는 것입니다. – user1340072