03.11.2009, 18:20 | #361 |
Новичок
Регистрация: 31.03.2008
Сообщений: 6
Вес репутации: 0
|
Я понял, надо не на новый http://api.sape.ru/xmlrpc/ обращаться, а по старинке на http://www.sape.ru/api_xmlrpc.php
Второй вариант работает, спасибо! |
27.11.2009, 15:59 | #365 |
Новичок
Регистрация: 27.11.2009
Сообщений: 3
Вес репутации: 0
|
Ни в какую не получается продвинутся дальше авторизации.
Авторизация в системе(sape.login) проходит успешно, а дальше: <Fault 667: 'SAPE.RU: Please, login'> Cookie добросовестно сохраняю и передаю. Работаю через xmlrpclib. В чём может быть проблема? =( |
27.11.2009, 16:11 | #367 | |
Новичок
Регистрация: 25.08.2009
Сообщений: 34
Вес репутации: 178
|
Цитата:
В данный момент проблемм с XML-RPC нет (вчера были). |
|
27.11.2009, 16:31 | #368 |
Новичок
Регистрация: 27.11.2009
Сообщений: 3
Вес репутации: 0
|
Код:
import os import base64 import xmlrpclib import urllib2 import cookielib class CookieAuthXMLRPCTransport(xmlrpclib.Transport): user_agent = '*py*' credentials = () cookiefile = 'cookies.lwp' def send_cookie_auth(self, connection): cj = cookielib.LWPCookieJar() cj.load(self.cookiefile, True, True) for cookie in cj: connection.putheader(cookie.name, cookie.value) def send_host(self, connection, host): xmlrpclib.Transport.send_host(self, connection, host) if os.path.exists(self.cookiefile): self.send_cookie_auth(connection) def request(self, host, handler, request_body, verbose=0): class CookieRequest(urllib2.Request): pass class CookieResponse: def __init__(self, headers): self.headers = headers def info(self): return self.headers crequest = CookieRequest('http://'+host+'/') h = self.make_connection(host) if verbose: h.set_debuglevel(1) self.send_request(h, handler, request_body) self.send_host(h, host) self.send_user_agent(h) cj = cookielib.LWPCookieJar() self.send_content(h, request_body) errcode, errmsg, headers = h.getreply() cresponse = CookieResponse(headers) cj.extract_cookies(cresponse, crequest) if len(cj) >0 and self.cookiefile != None: cj.save(self.cookiefile, True, True) if errcode != 200: raise ProtocolError( host + handler, errcode, errmsg, headers ) self.verbose = verbose try: sock = h._conn.sock except AttributeError: sock = None return self._parse_response(h.getfile(), sock) def getXmlrpcClient(server_uri): trans = CookieAuthXMLRPCTransport() client = xmlrpclib.Server(server_uri, transport=trans, verbose=False) return client if __name__ == "__main__": client = getXmlrpcClient('http://api.sape.ru/xmlrpc/') login = "skiplogin" password = "skippassword" try: retstr = client.sape.login(login, password) print retstr print client.sape.get_balance() except Exception, e: print e |
27.11.2009, 16:42 | #369 |
Специалист
Регистрация: 10.11.2009
Сообщений: 231
Вес репутации: 182
|
Попробуйте так (Python)
PHP код:
|
28.11.2009, 14:33 | #370 |
Новичок
Регистрация: 27.11.2009
Сообщений: 3
Вес репутации: 0
|
|
Опции темы | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Sape WM Analyzer - увеличьте Ваши продажи в Sape | andrey-k | Вопросы по работе системы | 11 | 27.08.2008 13:43 |
одновременно файл sape.php и SAPE.pm | slovo | Вопросы по работе системы | 23 | 06.03.2008 15:08 |
Часовой пояс GMT +3, время: 17:01.