怎么在Python中调用服务接口
怎么在Python中调用服务接口?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
如下所示:
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¶meters[]=%d¶meters[]=%d¶meters[]=%d¶meters[]=%s" % (customerId, productCode, ruleTemplateId, ruleId, operator) params_s += "&url=%s&method=%s¶meterTypes[]=int¶meterTypes[]=int¶meterTypes[]=int¶meterTypes[]=int¶meterTypes[]=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中即为参数,以空格分隔
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。