当您在 urllib2 中创建开启程序时,您可以使用一些处理程序来做任何您想做的事情。例如,如果你想在 suds 中添加一个新的标题,你应该这样做:
https = suds.transport.https.HttpTransport()
opener = urllib2.build_opener(HTTPSudsPreprocessor)
https.urlopener = opener
suds.client.Client(URL, transport = https)
其中 HTTPSudsPreprocessor 是您自己的处理程序,它应该如下所示:
class HTTPSudsPreprocessor(urllib2.BaseHandler):
def http_request(self, req):
req.add_header('Content-Type', 'text/xml; charset=utf-8')
return req
https_request = http_request
您必须覆盖的方法取决于您想要做什么。请参阅 Python.org 中的 urllib2 文档