您的位置:首页 > 编程语言 > Python开发

python 工行 api 查询

2011-03-24 16:33 211 查看
最近学习python 又在做接口 于是找了N多资料 终于实现了 下面是代码

# -*- coding:gbk -*-

import httplib

import cookielib

import urllib2

import urllib

# 用chilkat拆分pfx得到key,cert的pem格式

key_file = 'chilkat_pkey.pem'

cert_file = 'chilkat_cert.pem'

class HTTPSClientAuthConnection(httplib.HTTPSConnection):

def __init__(self, host, timeout=None):

httplib.HTTPSConnection.__init__(self, host, key_file=key_file,cert_file=cert_file)

self.timeout = timeout # Only valid in Python 2.6

class HTTPSClientAuthHandler(urllib2.HTTPSHandler):

def https_open(self, req):

return self.do_open(HTTPSClientAuthConnection, req)

class ICBCAPI(object):

def __init__(self):

self._cookiejar = cookielib.CookieJar()

def get(self, url, **data):

parameters = urllib.urlencode(data)

opener = urllib2.build_opener(urllib2.HTTPHandler(), HTTPSClientAuthHandler(), urllib2.HTTPCookieProcessor(self._cookiejar))

req = urllib2.Request(url, parameters)

server_response = opener.open(req).read()

return urllib2.unquote(server_response)

def test():

api = ICBCAPI()

apiUrl = "https://corporbank3.dccnet.com.cn/servlet/ICBCINBSEBusinessServlet"

merReqData = '''

<?xml version="1.0" encoding="GBK\" standalone="no" ?>

<ICBCAPI>

<in>

<orderNum>填你们自己的</orderNum>

<tranDate>填你们自己的</tranDate>

<ShopCode>填你们自己的</ShopCode>

<ShopAccount>填你们自己的</ShopAccount>

</in>

</ICBCAPI>'''

print api.get(apiUrl,APIName='EAPI',APIVersion='001.001.002.001',MerReqData=merReqData)

if __name__ == '__main__':
test()

希望对你们有帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: