Python中的HTTPS请求

2024-06-25 06:50:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过Python3.2中的HTTPS连接到一个站点。

我试过了

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

但我知道

    http.client.ResponseNotReady: Request-started

有人知道问题出在哪里吗?


Tags: httpsclienthttpreadget站点responserequest
2条回答

代替putrequest,您可以使用request

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

首先,如果您只想下载一些内容,而不需要任何特殊的HTTP请求,那么应该使用^{},而不是http.client

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

如果确实要使用http.client,则必须在发送请求头之后调用^{}

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

作为putrequest/endheaders的快捷方式,您还可以使用^{}方法,如下所示:

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

相关问题 更多 >