本文从此处转载: http://www.oschina.net/code/snippet_54100_7485/

本代码包含 Python 使用 GET/HEAD/POST 方法进行 HTTP 请求

[代码]GET 方法

1
2
3
4
5
6
7
8
9
10
11
12
13
>>>
import
httplib 
>>> conn
=
httplib.HTTPConnection(
"www.python.org"
>>> conn.request(
"GET"
,
"/index.html"
>>> r1
=
conn.getresponse() 
>>>
print
r1.status, r1.reason 
200
OK 
>>> data1
=
r1.read() 
>>> conn.request(
"GET"
,
"/parrot.spam"
>>> r2
=
conn.getresponse() 
>>>
print
r2.status, r2.reason 
404
Not Found 
>>> data2
=
r2.read() 
>>> conn.close()

[代码]HEAD 方法

1
2
3
4
5
6
7
8
9
10
11
>>>
import
httplib 
>>> conn
=
httplib.HTTPConnection(
"www.python.org"
>>> conn.request(
"HEAD"
,
"/index.html"
>>> res
=
conn.getresponse() 
>>>
print
res.status, res.reason 
200
OK 
>>> data
=
res.read() 
>>>
print
len
(data) 
0
>>> data
=
=
'' 
True

 [代码]POST 方法

1
2
3
4
5
6
7
8
9
10
11
>>>
import
httplib, urllib 
>>> params
=
urllib.urlencode({
'spam'
:
1
,
'eggs'
:
2
,
'bacon'
:
0
}) 
>>> headers
=
{
"Content-type"
:
"application/x-www-form-urlencoded"
...           
"Accept"
:
"text/plain"
>>> conn
=
httplib.HTTPConnection(
"musi-cal.mojam.com:80"
>>> conn.request(
"POST"
,
"/cgi-bin/query"
, params, headers) 
>>> response
=
conn.getresponse() 
>>>
print
response.status, response.reason 
200
OK 
>>> data
=
response.read() 
>>> conn.close()