2008-09-18 7 views
13

Je suis revenu aujourd'hui à un ancien script que j'avais pour me connecter à Gmail via SSL. Le script a bien fonctionné la dernière fois je l'ai couru (il y a plusieurs mois) mais maintenant il meurt immédiatement:Les prises Python sont-elles arrivées à expiration?

<urlopen error The read operation timed out> 

Si je mets le délai d'attente (peu importe combien de temps), il meurt encore plus immédiatement:

<urlopen error The connect operation timed out> 

Ce dernier est reproductible avec:

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

retour:

socket.sslerror: The connect operation timed out 

mais je ne peux pas sembler reproduire le premier et, après beaucoup de pas à travers le code, je n'ai aucune idée de ce qui cause tout cela.

+0

Quelle est la version de Python? – Jim

+0

Veuillez spécifier plus d'informations. Je ne peux pas reproduire votre problème. –

+0

La plate-forme aiderait aussi. –

Répondre

0

www.google.com n'est pas accessible par HTTPS. Il redirige vers HTTP non sécurisé. Pour se rendre à la poste, vous devriez aller aller https://mail.google.com

+2

$ curl -i https://www.google.com/ HTTP/1.1 302 Trouvé [...] – aaronsw

1
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' 

Il fonctionne très bien. Je ne peux pas reproduire votre erreur.

0

La première chose que je voudrais vérifier est de savoir si vous devez vous connecter via un proxy HTTP (auquel cas les connexions directes contournant le proxy expireront probablement). Lancez Wireshark et voyez ce qui se passe.

Questions connexes