擅长:python、mysql、java
<p>首先,如果您只想下载一些内容,而不需要任何特殊的HTTP请求,那么应该使用<a href="http://docs.python.org/release/3.2/library/urllib.request.html" rel="noreferrer">^{<cd1>}</a>,而不是<code>http.client</code>。</p>
<pre><code>import urllib.request
r = urllib.request.urlopen('https://paypal.com/')
print(r.read())
</code></pre>
<p>如果确实要使用http.client,则必须在发送请求头之后调用<a href="http://docs.python.org/release/3.2/library/http.client.html#http.client.HTTPConnection.endheaders" rel="noreferrer">^{<cd3>}</a>:</p>
<pre><code>import http.client
conn = http.client.HTTPSConnection('paypal.com', 443)
conn.putrequest('GET', '/')
conn.endheaders() # <---
r = conn.getresponse()
print(r.read())
</code></pre>
<p>作为<code>putrequest</code>/<code>endheaders</code>的快捷方式,您还可以使用<a href="http://docs.python.org/release/3.2/library/http.client.html#http.client.HTTPConnection.request" rel="noreferrer">^{<cd6>}</a>方法,如下所示:</p>
<pre><code>import http.client
conn = http.client.HTTPSConnection('paypal.com', 443)
conn.request('GET', '/') # <---
r = conn.getresponse()
print(r.read())
</code></pre>