2014-02-05 4 views
3

여러 서비스가있는 API로 작업해야합니다. 모두 아래의 인증에서 JSESSION 쿠키가 필요합니다. 그러나 다음 서비스를 호출 할 때 쿠키를 보관하지 않으므로 거부합니다.SUDS의 SOAP 응답에서 쿠키 추출

from suds.client import Client 
url = 'http://example/ws/Authenticate?wsdl' 
client = Client(url) 
result = client.service.connect(username='admin', password='admin') 
print client.options.transport.cookiejar 

>>> <cookielib.CookieJar[<Cookie JSESSIONID=XXXXXXXXXX for localhost.local/Service/>]> 

나는 그것을 사용하는 방법은이 쿠키는 다음, 압축을 풉니 형식의 사용자 정의 헤더로 제공하는 것입니다 계속 얻을 수 있다고 생각 : -

url = 'http://example/ws/dostuffnowloggedin?wsdl' 
client2 = Client(url, headers= { 'Cookie': 'JSESSIONID=value'}) 

그러나 나는 알아낼 수 없습니다 그것을하는 방법. SUDS Docs, URL2LIB 및 Cookiejar python 문서를 검토 한 결과 스택 &이 Reddit에서 확인되었습니다. 이것이 내가 Stack에서 물어 본 첫 번째 질문입니다. 의미 있고 구체적으로 만들려고 시도했지만, 만약 내가 가짜 동위자를 공언했다면, 저에게 말해주세요. 나는 그것을 고치기 위해 최선을 다할 것입니다.

답변

0

시도해보십시오.

from suds.client import Client 
url = 'http://example/ws/Authenticate?wsdl' 
client = Client(url) 
result = client.service.connect(username='admin', password='admin') 
url2='url of second service' 
client2=Client(url2) 
client2.options.transport.cookiejar=client.options.transport.cookiejar