您的位置:首页 > 理论基础 > 计算机网络

python使用httplib2访问REST服务的例子

2016-03-30 23:17 471 查看
首先你需要安装httplib2,这个可以在github上找到;

然后你需要获得一个http连接的对象:

con=httplib2.Http()
然后你需要发起连接:
(6)resp,(5)content=con.request((1)BAIDU_COM_API_COMMENTS,(2)method="POST",body=(3)body,headers=(4)header_data)
参数1是访问的URL:比如sina.com
参数2是method:get,post,delete,add,set中的一个;
参数3是参数,最麻烦的一个,它需要使用urllib进行encode,如下所示:
body_data={};
body_data['token']='redoocnekot'
body_data['urllist']=svn_url
body_data['starttime']=start_time
body_data['endtime']=end_time
body=urllib.urlencode(body_data)

参数4,header,奇怪的是它又不需要encode:

header_data={'Content-Type':'application/x-www-form-urlencoded'}


返回值5:内容

[{"author":"wangmeng09","text":"\u4e0d\u8981\u4f7f\u7528\u9ed8\u8ba4\u4fee\u9970\u7b26","lineno":22,"date":"2015-03-1311:05:00"……

返回值6:应答对象

{'status':'200','content-language':'zh-cn','transfer-encoding':'chunked','server-id':'rd-139','vary':'Accept-Language,Cookie','server':'openresty/1.7.4.1','connection':'keep-alive','date':'Wed,30Mar201615:08:41GMT','access-control-allow-origin':'*','content-type':'application/json'}
-----
注意到返回的内容里面unicode的显示不正确,需要用string转一下:
content_str=content.decode('raw_unicode_escape')
str='\u7f13\u5b58\u63a5'
printstr.decode('raw_unicode_escape')
对应的汉字:缓存接
decode表示解码,把字符从输入中解出来。那么输入是什么格式呢?按照'raw_unicode_escape'来理解。'raw_unicode_escape'表示什么呢?表示把\u开头的字符串是个utf-8的编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: