1. 程式人生 > >使用Python訪問restAPI介面

使用Python訪問restAPI介面

#!/usr/bin/env python
#coding: utf-8
 
import httplib, urllib
import hashlib
import time
from datetime import datetime


def md5(ss):
    m = hashlib.md5()   
    m.update(ss)
    return m.hexdigest()




httpClient = None
try:
    timestamp=time.localtime(time.time()-8*60*60)
#     print timestamp
    params = urllib.urlencode({'name': 'tom', 'age': 22})
    time_str=time.strftime('%a, %d %b %Y %H:%M:%S ',timestamp)+'GMT' #"Mon, 23 May 2011 09:13:07 GMT "
    print time_str
    method="HTAUTH"
    username="root"
    signature=md5(method+time_str+"root")
    
    headers = {"Content-type": "application/x-www-form-urlencoded"
                    , "Accept": "text/plain","Date": time_str,
"Authorization":"HTAUTH", username:signature,"Host": "rest.hugetable.com"}
    httpClient = httplib.HTTPConnection("10.133.47.163", 9092, timeout=300)
    httpClient.request("GET","/data/yiliaoyun", None, headers)
 
    response = httpClient.getresponse()
#     response.ContentType = "text/xml";  
#     response.Charset = "UTF-8"; 
    xx=response.read()
    xmlstr=""
    xmlstr+=str(response.status)+response.reason+str(response.msg)+str(response.version)+"\n"
    print "--------------------"+xx  
    print xmlstr
except Exception, e:
    print e
finally:
    if httpClient:
        httpClient.close()