Python HTTP POST方法一例

2023-01-31 05:01:38 python 方法 一例

#!/usr/bin/env python


'''

Created on 2013-4-16
 
@author: zdh

    

create project: multimech-newproject my_project

    

run test: multimech-run my_project

'''
import Httplib
import urllib
import time
import JSON
 
 
class Transaction(object):
         
    def __init__(self):
        self.custom_timers = {}
 
 
    def run(self):
        conn = httplib.HTTPConnection("localhost:8080")
        headers = {"Content-type": "application/json"} #application/x-www-fORM-urlencoded,"Aceept":"text/plain"
        params = ({"bindHyCardInfo":{"mobileNo":"1881026xxxx","userId":"2","hYCardno":line,"bankCardNo":"622xxxxxxxxxxxxx","ip":"127.0.0.1"},"header":{"version":"1.0.1","from":"1000","to":"2000","tid":line,"time":"12312","token":"SEW342WEER2342","ext":""}})
        start = time.time()
        conn.request("POST", "/core-oper/rest/bindHyCard", json.JSONEncoder().encode(params), headers)
        response = conn.getresponse()
        response_time = time.time()
        data = response.read()
        print data
        conn.close()
        transfer_time = time.time()
        self.custom_timers['response received'] = response_time - start
        self.custom_timers['content transferred'] = transfer_time - start
         
 
 
if __name__ == '__main__':
     
    file = open("E://card.txt")
    while 1:
        lines = file.readlines()
        if not lines:
            break
        for line in lines:
            line = line.strip('\n')
            trans = Transaction()
            trans.run()
            for timer in ('response received', 'content transferred'):
                print '%s: %.5f secs' % (timer, trans.custom_timers[timer])
    file.close()

相关文章