代码片段(1)
[代码] http_post.py
01 | ''' |
02 | Created on 2013-4-16 |
03 |
04 |
05 | @author: zdh |
06 |
07 |
08 | create project: multimech-newproject my_project |
09 | run test: multimech-run my_project |
10 | ''' |
11 | import httplib |
12 | import urllib |
13 | import time |
14 | import json |
15 |
16 |
17 | class Transaction( object ): |
18 | |
19 | def __init__( self ): |
20 | self .custom_timers = {} |
21 |
22 |
23 | def run( self ): |
24 | conn = httplib.HTTPConnection( "localhost:8080" ) |
25 | headers = { "Content-type" : "application/json" } #application/x-www-form-urlencoded,"Aceept":"text/plain" |
26 | 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" :""}}) |
27 | start = time.time() |
28 | conn.request( "POST" , "/core-oper/rest/bindHyCard" , json.JSONEncoder().encode(params), headers) |
29 | response = conn.getresponse() |
30 | response_time = time.time() |
31 | data = response.read() |
32 | print data |
33 | conn.close() |
34 | transfer_time = time.time() |
35 | self .custom_timers[ 'response received' ] = response_time - start |
36 | self .custom_timers[ 'content transferred' ] = transfer_time - start |
37 | |
38 |
39 |
40 | if __name__ = = '__main__' : |
41 | |
42 | file = open ( "E://card.txt" ) |
43 | while 1 : |
44 | lines = file .readlines() |
45 | if not lines: |
46 | break |
47 | for line in lines: |
48 | line = line.strip( '\n' ) |
49 | trans = Transaction() |
50 | trans.run() |
51 | for timer in ( 'response received' , 'content transferred' ): |
52 | print '%s: %.5f secs' % (timer, trans.custom_timers[timer]) |
53 | file .close() |