質問

HTTPTransportをオーバーライドして、CookieのサポートをSOAPpyに追加しました。 SOAPpyを超える機能が必要なので、ZSIに移行することを計画していましたが、サービスに対して行われたZSIポストにCookieを配置する方法を理解できません。これらのCookieがないと、サーバーはそれが不正なリクエストであると判断し、失敗します。

Python CookieJarのCookieをZSIリクエストに追加するにはどうすればよいですか

役に立ちましたか?

解決

_Bindingクラスをクライアントで読んだ場合。 ZSIのpy には、 Cookie.SimpleCookie ZSIの例および Cookieの例の動作方法:

b = Binding(url='/cgi-bin/simple-test', tracefile=fp)
b.cookies['foo'] = 'bar'

他のヒント

さらに、Bindingクラスではヘッダーを追加することもできます。そこで、「Cookie」を追加するだけでよいことがわかりました。追加する必要がある各Cookieのヘッダー。これはwsdl2pyによって生成されたコードではうまく機能し、SOAPクライアントクラスでバインディングが形成された直後にCookieを追加するだけです。生成されたクラスにパラメーターを追加してCookieをディクショナリーとして取り込むのは簡単で、その後、簡単に繰り返して追加できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top