zoukankan      html  css  js  c++  java
  • python使用httplib2访问REST服务的例子

    首先你需要安装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": "u4e0du8981u4f7fu7528u9ed8u8ba4u4feeu9970u7b26", "lineno": 22, "date": "2015-03-13 11: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, 30 Mar 2016 15:08:41 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json'}

    -----
    注意到返回的内容里面unicode的显示不正确,需要用string转一下:
    content_str = content.decode('raw_unicode_escape')
     
    str='u7f13u5b58u63a5'
    print str.decode('raw_unicode_escape')
    对应的汉字:缓存接
     
    decode表示解码,把字符从输入中解出来。那么输入是什么格式呢?按照'raw_unicode_escape'来理解。'raw_unicode_escape'表示什么呢?表示把u开头的字符串是个utf-8的编码。
  • 相关阅读:
    C编程规范
    c# 闭包 小例
    计算前后2行的时间差
    判断是不是奇数
    条件表达式工具类
    代码重构-5 取消类的私有变量(实例变量)
    代码重构-4 通用方法 用 static
    代码重构-3 用Tuple代替 out与ref
    代码重构-2 简单不变的 if else 用字典代替
    代码重构-1 对参数中有 bool值的拆分
  • 原文地址:https://www.cnblogs.com/alphablox/p/5339400.html
Copyright © 2011-2022 走看看