Найти - Пользователи
Полная версия: ZSI(SOAP) и прокси сервер
Начало » Network » ZSI(SOAP) и прокси сервер
1
Tmr
Пытаюсь соединиться к SOAP серверу через проксю, да ещё и через HTTPS. Второе не страшно, а вот прокси так просто не преодолим. Никак не получается соединиться…
Можно подсунуть при соединении свой транспорт, наследник от HTTPSConnection. Но как реализовать в наследнике прозрачную поддержку прокси, в голову не приходит! Можно подсунуть в метод connect адрес своей прокси, а при создании request объекта (get, post) подсовывать полный адрес ресурса, но не уверен что это осуществимо, точнее что это будет нормально работать. Напишите, кто сталкивался с подобной проблемой!
Tmr
В принципе есть альтернатива сделать классы-обертки над следующими классами, с переопределением перечисленных методов (duck-typing в действии :)):
HTTPConnection:

endheaders()
send("")
getresponse()
putheader("", "")
putrequest("","")
# The httplib doesn't understand the HTTP continuation header.
# Horrible internals hack to patch things up.
self.h._HTTPConnection__state = httplib._CS_REQ_SENT
self.h._HTTPConnection__response = None

HTTPResponse:

response.getheader("")
response.status,
response.reason,
response.msg,
response.read()

HTTPMessage:

msg.getallmatchingheaders()
В ZSI(client.py) используются только вышеприведенные методы.
Наверное так и сделаю. Как вы считаете, такой подход уметсен? Какие он в себе таит опасности, кроме той, что реализация в след. версиях client.py может поменяться, и придется переделывать свои классы. И есть ли все-таки более изящная альтернатива?
Если у кого-нибудь есть примеры реализации наследников от HTTPConnection реализующих новую функциональность - покажите, пож.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB