mechanize を使用して Python で SSL URL を開くにはどうすればよいですか?
次のように、UbuntuでPython 2.7.3を使用して簡単なページ取得を試みています。
import mechanize
browser = mechanize.Browser()
resp = browser.open('https://mydomain.com')
しかし、それはエラーをスローします:
urllib2.URLError: <urlopen error [Errno 1] _ssl.c:504: error:140773E8:SSL routines:SSL23_GET_SERVER_HELLO:reason(1000)>
奇妙なことに、Fedora の Python 2.6.4 で同じコードを実行しても、このエラーは発生しません...
おそらく、これは mechanize の直接的な問題ではなく、urllib2 と基盤となる SSL C ライブラリの問題です。ググってもほとんどヒットしません。回避策はありますか?
編集: 私はこの古いバグレポートを見つけ、推奨される回避策 (基本的に Python は SSLv3 のみのサイトに SSLv23 を使用しようとしています) を見つけましたが、そのコードは代わりにエラーになりますhttplib.BadStatusLine: ''