Python调用服务接口

时间:2021-08-11 05:20:13
#! /usr/bin/env python
# coding=utf-8
######################################################################
# Author: yini.xie
# Create Time: 2016-07-05 16:28:42
# Descriptioin:
######################################################################
import os
import sys
import time
import json
import urllib
import urllib2
from urllib import quote
from datetime import datetime pathATM = "http://192.168.217.217:4080/invoke.json" def fmtLen(value, length=7):
fmt = '{0:>%d}' % (length)
return fmt.format(value) def changeWithdrawRule(customerId, productCode, ruleTemplateId, ruleId, operator):
service_url_s = "http://service.xxx.com/tsService/TSRuleService_1.0.0"
method_s = "bindCustomerWithdrawRuleTemplate"
params_s = "parameters[]=%d&parameters[]=%d&parameters[]=%d&parameters[]=%d&parameters[]=%s" % (customerId, productCode, ruleTemplateId, ruleId, operator)
params_s += "&url=%s&method=%s&parameterTypes[]=int&parameterTypes[]=int&parameterTypes[]=int&parameterTypes[]=int&parameterTypes[]=java.lang.String" % (service_url_s, method_s)
url_s = pathATM + "?" + quote(params_s, safe='&=')
data_s = urllib2.urlopen(url_s).read()
print url_s
return json.loads(data_s) if __name__ == '__main__':
start = datetime.now() for line in open(sys.argv[1]).xreadlines():
fields = line.strip().split()
customerId = int(fields[0])
productCode = int(fields[1])
ruleTemplateId = int(fields[2])
ruleId = int(fields[3])
print "start to deal customerId = " + str(customerId) changeWithdrawRule(customerId, productCode, ruleTemplateId, ruleId, "Case") end = datetime.now()

运行Python脚本,即可调用相应的接口修改数据库数据。

python ChangeCustomerRule.py text.txt

text.txt中即为参数,以空格分隔