ZSI投稿にCookieを追加する
-
02-07-2019 - |
質問
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をディクショナリーとして取り込むのは簡単で、その後、簡単に繰り返して追加できます。
所属していません StackOverflow