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接続をクローズする方法を知っています。どこに問題があることがあります場合は、誰かがこの質問または私の理解で私を助けてもらえます:)
あなたのrelpyのためにありがとう、それは私が望んでいたものです。 – user1340072