python使用httplib2访问REST服务的例子
2016-03-30 23:17
471 查看
首先你需要安装httplib2,这个可以在github上找到;
然后你需要获得一个http连接的对象:
参数4,header,奇怪的是它又不需要encode:
返回值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'}
然后你需要获得一个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的编码。
相关文章推荐
- Nginx下的https配置
- APP控制网络连接速率,实现网络情况复现 ATC原理
- 网络命令一览表
- java获取网络图片并上传oss
- HTTP协议总结
- Android 网络(一)
- #Android OkHttp使用教程
- [置顶] Android开发之开源框架OKHTTP的Get请求代码,得到json字符串方法
- TCP 通信原理
- Android OkHttp完全解析 是时候来了解OkHttp了
- 计算机网络小记1
- Linux学习笔记——重点推荐的Linux网络在线学习资源
- 网络相关系列之二:HTTP请求头与响应头
- 社交网络:有意义的不仅是邓巴数
- HTTP 错误 500.19 - Internal Server Error 错误解决
- ios9使用http
- Java Web 基础(一) 基于TCP的Socket网络编程
- iOS开发之网络连接方式
- iOS开发之网络请求
- 战火引擎中的网络模块