我正在使用suds
包来从一个网站发出API请求。我写了一个函数,打开client
到网站并提出请求。
我想知道我应该如何在功能结束时终止连接?
我想知道client
是否会像MySQLDb.connect
那样实际打开许多单独的API连接,这些连接在每次调用此函数时都不会关闭。
from suds.client import Client
import sys, re
def querysearch(reqPartNumber, reqMfg, lock):
try:
client = Client('http://app....')
userInfo = {'id':.., 'password':...}
apiResponse = client.service.getParts(...)
...
print apiResponse
except:
...
答案 0 :(得分:5)
SOAP仍然是HTTP请求,它是无状态的。每个请求都将启动一个全新的连接,重新验证等等。浏览器类似于短路,但是没有。因此,您无需关闭连接,它已经在suds
将您的数据返回给您时关闭。
此外,looking at the latest source,Client()
未定义close
或__exit__
方法,因此您无需在此处做任何事情。