13

今日、SSL 経由で Gmail にログインするために持っていた古いスクリプトに戻ってきました。スクリプトは、前回 (数か月前) 実行したときは正常に機能しましたが、今では次のようにすぐに終了します。

<urlopen error The read operation timed out>

タイムアウトを設定すると(どれだけ長くても)、次のようにすぐに終了します。

<urlopen error The connect operation timed out>

後者は次の方法で再現できます。

import socket
socket.setdefaulttimeout(30000)
sock = socket.socket()
sock.connect(('www.google.com', 443))
ssl = socket.ssl(sock)

戻る:

socket.sslerror: The connect operation timed out

しかし、前者を再現できないようで、コードを何度も調べた後、何が原因なのかわかりません。

4

4 に答える 4

2
import socket
socket.setdefaulttimeout(30000)
sock = socket.socket()
sock.connect(('www.google.com', 443))
ssl = socket.ssl(sock)
ssl.server()
--> '/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com'

それはうまく動作します。エラーを再現できません。

于 2008-09-18T15:06:36.347 に答える
0

最初に確認することは、HTTP プロキシ経由で接続する必要があるかどうかです (その場合、プロキシをバイパスする直接接続はタイムアウトになる可能性があります)。Wireshark を実行して、何が起こるかを確認します。

于 2008-09-18T20:29:34.447 に答える
0

www.google.com は HTTPS ではアクセスできません。安全でない HTTP にリダイレクトします。メールにアクセスするには、 https://mail.google.comにアクセスしてください。

于 2008-09-18T15:06:11.310 に答える