python3 を使用して Web サイトにログインしようとしています。私のコードは以下です
from urllib.parse import urlencode
from urllib.request import Request, urlopen
login = urlencode({'user' : 'test', 'pass' : 'test', 'uuid' : ''}).encode('ascii')
rq = Request("https://novanet.villanova.edu/cp/home/login", data=login)
f = urlopen(rq, timeout=10)
ff = f.read()
fff = ff.decode("utf-8")
私の問題は、SSL ハンドシェイク中に常にタイムアウトが発生することです。
File "/usr/lib/python3.3/ssl.py", line 317, in __init__
raise x
File "/usr/lib/python3.3/ssl.py", line 313, in __init__
self.do_handshake()
File "/usr/lib/python3.3/ssl.py", line 520, in do_handshake
self._sslobj.do_handshake()
socket.timeout: _ssl.c:531: The handshake operation timed out
10 秒のタイムアウトを強制しないと、最終的に接続はピアによってリセットされます。
どこが間違っているのかわかりません。ただし、サイトがブラウザ内にリダイレクトされる場所にしようとするとwget https://novanet.villanova.edu/cp/home/displaylogin
、SSL接続も確立できません。ただし、ブラウザでページを開くと問題なく動作します。
それは私のコードですか?サーバーですか?どうすればこれを回避できますか?