0

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接続も確立できません。ただし、ブラウザでページを開くと問題なく動作します。

それは私のコードですか?サーバーですか?どうすればこれを回避できますか?

4

0 に答える 0