2008-09-18 4 views
13

저는 SSL을 통해 Gmail에 로그인하기 위해 사용했던 이전 스크립트로 오늘 되돌아 왔습니다. 이 스크립트는 내가 (몇 개월 전)를 실행 미세 마지막 시간을 일하지만 지금은 즉시 사망 :파이썬 소켓이 갑자기 시간 초과 되었습니까?

:

<urlopen error The read operation timed out> 

내가 (아무리 긴) 시간 제한을 설정하지 않으면, 그것은으로 더욱 빨리 죽는다

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

는 복귀 :

후자

<urlopen error The connect operation timed out> 
함께 재현

하지만 전 코드를 재현 한 것처럼 보이지 않아 코드를 통해 많은 단계를 거친 후이 문제를 일으키는 단서가 없습니다.

+0

어떤 Python 버전입니까? – Jim

+0

자세한 내용을 입력하십시오. 문제를 재현 할 수 없습니다. –

+0

플랫폼도 도움이 될 것입니다. –

답변

0

HTTPS는 www.google.com에 액세스 할 수 없습니다. 안전하지 않은 HTTP로 리디렉션됩니다. 메일을 받으려면 이동해야합니다. https://mail.google.com

+2

$ curl -i https://www.google.com/ HTTP/1.1 302 발견 [...] – 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' 

잘 작동합니다. 오류를 재현 할 수 없습니다.

0

가장 먼저 확인해야 할 것은 HTTP 프록시를 통해 연결해야하는지 (프록시를 우회하는 직접 연결 시간이 초과 될 가능성이 있음)입니다. Wireshark를 실행하고 무슨 일이 일어나는 지보십시오.