如何在 suds 0.3.6 中添加 http 标头?

How to add http headers in suds 0.3.6?(如何在 suds 0.3.6 中添加 http 标头?)
本文介绍了如何在 suds 0.3.6 中添加 http 标头?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我在 python 2.5 中有一个应用程序,它通过 suds 0.3.6 发送数据.

I have an application in python 2.5 which sends data through suds 0.3.6.

问题是数据包含非ascii字符,所以我需要soap消息中存在以下标头:

The problem is that the data contains non-ascii characters, so I need the following header to exist in the soap message:

Content-Type="text/html; charset="utf-8"

而 SOAP 消息中存在的标头只是:

and the header that exists in the SOAP message is just:

Content-Type="text/html"

我知道它在 suds 0.4 中已修复,但它需要 Python2.6,我需要 Python2.5,因为我使用 CentOS,它需要那个版本.所以问题是:

I know that it is fixed in suds 0.4, but it requires Python2.6 and I NEED Python2.5 because I use CentOS and it needs that version. So the question is:

如何更改或添加新的 HTTP 标头到 SOAP 消息?

How could I change or add new HTTP headers to a SOAP message?

推荐答案

当你在 urllib2 中创建 opener 时,你可以使用一些处理程序来做任何你想做的事情.例如,如果你想在 suds 中添加一个新的 header,你应该这样做:

When you create the opener in urllib2, you can use some handlers to do whatever you want. For example, if you want to add a new header in suds, you should do something like this:

https = suds.transport.https.HttpTransport()
opener = urllib2.build_opener(HTTPSudsPreprocessor)
https.urlopener = opener
suds.client.Client(URL, transport = https)

HTTPSudsPreprocessor 是您自己的处理程序,它应该如下所示:

where HTTPSudsPreprocessor is your own handler, and it should look like this:

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 文档

The methods you have to override depend on what you want to do. See urllib2 documentation in Python.org

这篇关于如何在 suds 0.3.6 中添加 http 标头?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Seasonal Decomposition of Time Series by Loess with Python(Loess 用 Python 对时间序列进行季节性分解)
Resample a time series with the index of another time series(使用另一个时间序列的索引重新采样一个时间序列)
How can I simply calculate the rolling/moving variance of a time series in python?(如何在 python 中简单地计算时间序列的滚动/移动方差?)
How to use Dynamic Time warping with kNN in python(如何在python中使用动态时间扭曲和kNN)
Keras LSTM: a time-series multi-step multi-features forecasting - poor results(Keras LSTM:时间序列多步多特征预测 - 结果不佳)
Python pandas time series interpolation and regularization(Python pandas 时间序列插值和正则化)