6

Python 2.7を使用して、次のコードでmechanizeログインしようとしています。Mint.com

import mechanize
br = mechanize.Browser()
br.open("https://wwws.mint.com/login.event")

これは OSX では問題なく動作しますが、debianではハングします。問題は ssl 関連のようです。トレースバックは次で終了します

File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
    self._sslobj.do_handshake()

編集: Debian を使用しても問題は解決しませんurllib2。コメントで示唆されているように、問題は実際にはsslに関連しているようです。これが OSX ではなく Debian で問題になるのはなぜですか?

4

2 に答える 2

1

したがって、Fedora では問題ないように見えます。

[bharrington@leviathan ~]$ python
Python 2.7.5 (default, Aug 22 2013, 09:31:58) 
[GCC 4.8.1 20130603 (Red Hat 4.8.1-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
>>> br = mechanize.Browser()
>>> br.open("https://wwws.mint.com/login.event")
<response_seek_wrapper at 0x29b6440 whose wrapped object = <closeable_response at 0x29b6320 whose fp = <socket._fileobject object at 0x298d150>>>
>>> br.title()
'Mint > Start Here'
>>> 

そのため、使用されている SSL/OpenSSL ライブラリについて疑問に思います。それをテストするために、コマンドラインから実行できます:

$ openssl s_client -connect wwws.mint.com:443

mint の SSL 証明書が表示され、完全な証明書チェーンの検証と、最終行の "Verify return code: 0 (ok)" が表示されます。

私はそれが SSL の問題であると強く疑っていますが、チェックする価値があると考えています。さらに、mechanize のバージョンを確認します。Debian は、コードの安定したバージョン (新しいバージョンではない) を使用することで有名です。mechanize で確認したバージョンは 0.2.5 でした

于 2013-09-15T06:20:06.073 に答える