URLLIB,URLLIB2,PYCURL,HTTPIE,,,在测试PUT及认证时,还是REQUESTS胜出。。
测试过程及样例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
import
urllib
import
urllib2
import
base64
import
json
import
requests
#GET
request
=
urllib2.Request(url)
base64string
=
base64.encodestring(
'%s:%s'
%
(
'admin'
,
'admin'
)).replace(
'\n'
, '')
request.add_header(
"Authorization"
,
"Basic %s"
%
base64string)
request.get_method
=
lambda
:
'GET'
response
=
urllib2.urlopen(request)
print
response.read()
#PUT
data
=
{
'code'
:
'from'
,
'title'
:
'mypass'
}
response
=
requests.put(url, data
=
data, auth
=
(
'admin'
,
'admin'
))
#request = urllib2.Request(url, data=jdata, auth=('admin','admin'))
#base64string = base64.encodestring('%s:%s' % ('admin', 'admin')).replace('\n', '')
#request.add_header("Authorization", "Basic %s" % base64string)
#request.get_method = lambda: 'PUT'
#opener = urllib2.build_opener(urllib2.HTTPHandler)
#response = opener.open(request)
print
response.text
#POST
data
=
{
'code'
:
'from lib'
,
'title'
:
'mypass'
}
request
=
urllib2.Request(url)
data
=
urllib.urlencode(data)
base64string
=
base64.encodestring(
'%s:%s'
%
(
'admin'
,
'admin'
)).replace(
'\n'
, '')
request.add_header(
"Authorization"
,
"Basic %s"
%
base64string)
opener
=
urllib2.build_opener()
response
=
opener.
open
(request, data)
print
response.read()
#DELETE
request
=
urllib2.Request(url)
base64string
=
base64.encodestring(
'%s:%s'
%
(
'admin'
,
'admin'
)).replace(
'\n'
, '')
request.add_header(
"Authorization"
,
"Basic %s"
%
base64string)
request.get_method
=
lambda
:
'DELETE'
response
=
urllib2.urlopen(request)
print
response.read()
|