2

HTTPTransport をオーバーライドして SOAPpy に Cookie サポートを追加しました。SOAPpy を超える機能が必要なので、ZSI に移行する予定でしたが、サービスに対して作成された ZSI 投稿に Cookie を配置する方法がわかりません。これらの Cookie がないと、サーバーはそれが不正な要求であると判断し、失敗します。

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

4

2 に答える 2

1

ZSIのclient.pyの_Bindingクラスを読み取ると、Cookie.SimpleCookieのインスタンスである変数cookieが含まれていることがわかります。ZSIの例Cookieの例に従って、次のように機能します。

b = Binding(url='/cgi-bin/simple-test', tracefile=fp)
b.cookies['foo'] = 'bar'
于 2008-09-28T10:15:27.800 に答える
0

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

于 2008-09-29T11:55:11.467 に答える