2012-03-23 4 views
9

파이썬 3.2에서 HTTPS를 통해 사이트에 연결하고 싶습니다.파이썬에서 HTTPS 요청

나는

conn = http.client.HTTPSConnection(urlStr, 8443) 
    conn.putrequest('GET', '/') 
    response = conn.getresponse() 
    print(response.read()) 

을 시도하지만 난

http.client.ResponseNotReady: Request-started 

누구나 문제가 뭔지 알아거야?

답변

17

우선 뭔가를 다운로드하고 특별한 HTTP 요청을 원하지 않으면 http.client 대신 urllib.request을 사용해야합니다. 당신이 정말로 http.client를 사용하려는 경우 요청 헤더를 보낸 후

import urllib.request 
r = urllib.request.urlopen('https://paypal.com/') 
print(r.read()) 

, 당신은 endheaders를 호출해야합니다 : putrequest/endheaders에 바로 가기로

import http.client 
conn = http.client.HTTPSConnection('paypal.com', 443) 
conn.putrequest('GET', '/') 
conn.endheaders() # <--- 
r = conn.getresponse() 
print(r.read()) 

을, 당신은 또한 request 방법을 사용할 수 있습니다 이 같은 : 대신 putrequest

import http.client 
conn = http.client.HTTPSConnection('paypal.com', 443) 
conn.request('GET', '/') # <--- 
r = conn.getresponse() 
print(r.read()) 
1

, 당신은을 사용할 수 있습니다 10

conn.request('GET', '/') 
resp = conn.getresponse() 
print(resp.read())