2012-04-18 37 views
0

poplibとimaplibを使用してプロキシサーバー経由で電子メールを収集するコードをいくつか書いています。Pythonでソックス/プロキシ接続を閉じる

私は、プロキシ接続設定するには、次を使用: - :

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

それから私は、電子メールサーバと私の接続を行う - :私はStackOverflowのポストから得た

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

を -

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

私のコードを単体テストでテストしていますが、私が問題に遭遇しましたプロキシとの接続が正しく終了しない。

例は次のとおりです。 -

私は、プロキシ接続を設定していると、電子メールサーバとの接続を確立しようとしています。ユニットテストの一環として、私は意図的に間違った電子メールサーバーのパスワードを使用します。 poplibライブラリは、接続できないという例外をスローします。私は単体テストで例外をキャッチし、次のユニットテストに移り、poplibライブラリが以前の接続を適切に閉じられると信じています。

これは良いことではなく、電子メールとプロキシサーバーの接続が正しく閉じられていることを確認する必要があります。私はそうする必要がある場合

server.quit() 

しかし、プロキシサーバーとの接続を終了する方法がわからないか - :

私はPOP3接続をクローズする方法を知っています。どこに問題があることがあります場合

は、誰かがこの質問または私の理解で私を助けてもらえます:)

答えて

0

を特別なアクションは必要ありません。 POP接続を閉じると、プロキシ接続は自動的に終了します。これは、プロキシ経由で何かに接続している間だけ必要なためです。

+0

あなたのrelpyのためにありがとう、それは私が望んでいたものです。 – user1340072

関連する問題