Pregunta

He agregado compatibilidad con cookies a SOAPpy al reemplazar HTTPTransport. Necesito una funcionalidad más allá de la de SOAPpy, así que estaba planeando mudarme a ZSI, pero no puedo entender cómo poner las cookies en las publicaciones de ZSI realizadas en el servicio. Sin estas cookies, el servidor pensará que es una solicitud no autorizada y que fallará.

¿Cómo puedo agregar cookies de Python CookieJar a las solicitudes ZSI?

¿Fue útil?

Solución

Si lee la _Binding class en el cliente. py of ZSI puede ver que tiene una variable de cookies, que es una instancia de Cookie.SimpleCookie . Siguiendo el ejemplo de ZSI y el Ejemplo de cookie así es como debería funcionar:

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

Otros consejos

Además, la clase Binding también permite agregar cualquier encabezado. Así que me di cuenta de que solo puedo agregar una " Cookie " encabezado para cada cookie que necesito agregar. Esto funcionó bien para el código generado por wsdl2py, simplemente agregando las cookies justo después de que se forme el enlace en la clase de cliente SOAP. Agregar un parámetro a la clase generada para incorporar las cookies como diccionario es fácil y luego se pueden iterar y agregar fácilmente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top