我想在Python 3.2中通过HTTPS连接到一个站点.
我试过了
conn = http.client.HTTPSConnection(urlStr, 8443)
conn.putrequest('GET', '/')
response = conn.getresponse()
print(response.read())
Run Code Online (Sandbox Code Playgroud)
但我明白了
http.client.ResponseNotReady: Request-started
Run Code Online (Sandbox Code Playgroud)
谁知道问题是什么?
phi*_*hag 25
首先,如果您只是想下载某些东西并且不想要任何特殊的HTTP请求,那么您应该使用urllib.request而不是http.client.
import urllib.request
r = urllib.request.urlopen('https://paypal.com/')
print(r.read())
Run Code Online (Sandbox Code Playgroud)
如果您确实想使用http.client,则必须endheaders在发送请求标头后调用:
import http.client
conn = http.client.HTTPSConnection('paypal.com', 443)
conn.putrequest('GET', '/')
conn.endheaders() # <---
r = conn.getresponse()
print(r.read())
Run Code Online (Sandbox Code Playgroud)
作为putrequest/ 的快捷方式endheaders,您还可以使用此request方法,如下所示:
import http.client
conn = http.client.HTTPSConnection('paypal.com', 443)
conn.request('GET', '/') # <---
r = conn.getresponse()
print(r.read())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43828 次 |
| 最近记录: |