Python HTTP POST方法一例

发布时间:2019-09-08 09:13:28编辑:auto阅读(1749)

    #!/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()

关键字