Найти - Пользователи
Полная версия: XML-RPC, авторизация, пример запроса
Начало » Python для новичков » XML-RPC, авторизация, пример запроса
1
LSN
Здравствуйте!

у меня не получается сделать запрос к xml-rpc серверу. Из того, что я прочел (Programming Web Services with XML-RPC O'Reilly и книга Марка Лутца): понял, что сначала надо создать соединение с сервером. Насколько я понял это так:

import xmlrpclib
server = xmlrpclib.ServerProxy("http://api.sape.ru/xmlrpc/")
дальше смотрю доступные функции
server.system.listMethods()
выдает список всех доступных функций, значит поидее соединение установлено, а вот дальше полный ступор, нигде не могу нагуглить пример авторизации и отправки/получения запроса.

пишу:
login = 'логин'
password = 'пароль'
server.sape.login(login, password)
обратно выдает какие-то шесть цифр

дальше пишу:

call = server.sape.get_user()
тут уже выдает ошибку

кто знает, объясните пожалуйста как правильно авторизоваться и делать запрос?

справка по функциям этого сервера тут - http://www.sape.ru/api_xmlrpc.php
Андрей Светлов
в приведенной вами ссылке сказано, что login возвращает userid. А для всех последующих вызовов нужно использовать возвращенные cookie.
xmlrpc.ServerProxy берет transport вторым параметром. Можете унаследоваться от xmlrpc.Transport и работать с куками в нем.
LSN
Андрей Светлов
в приведенной вами ссылке сказано, что login возвращает userid. А для всех последующих вызовов нужно использовать возвращенные cookie.
xmlrpc.ServerProxy берет transport вторым параметром. Можете унаследоваться от xmlrpc.Transport и работать с куками в нем.
Про userid я понял, спасибо. а вот с остальным не понятно. Может кто-нибудь сможет показать пример кода как это правильно сделать?
Андрей Светлов
Экий вы… быстрый. Попробуйте сочинить из xmlrpclib, httplib и coockielib что-нибудь работающее. Если не будет получаться - выкладывайте исходник и спрашивайте более конкретно.
LSN
Андрей Светлов
Попробуйте сочинить из xmlrpclib, httplib и coockielib что-нибудь работающее. Если не будет получаться - выкладывайте исходник и спрашивайте более конкретно.
Андрей Светлов, спасибо. буду пытаться. Я правильно понял, что надо извлечь cookie которые мне вернула функция login, а потом их отправлять при каждом запросе?


Андрей Светлов
Экий вы… быстрый.
Да научиться очень хочется, а с книгами туговато + опыта почти 0. Вот и приходится знающих людей вопросами донимать
Андрей Светлов
Как я понял, чуть-чуть не так. Куки нужно обновлять после каждого ответа. Точно так же, как браузер делает.
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