Объявление

Свернуть
Пока нет объявлений.

Как авторизироваться при помощи python?(Rodnoe.tv)

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Как авторизироваться при помощи python?(Rodnoe.tv)

    вот оригинал от consros:
    имя пасс demo demo, должны работать

    Код:
    <?php
    #############################################################################
    # Library with all functions needed to connect rodnoe.tv.         #
    # These functions allow to log on to rodnoe.tv, get information about   #
    # available channels and to get the channels URLs themselves.       #
    #                                     #
    # Author: consros 2010                           #
    #############################################################################
    
    require_once("lightJSON.inc");
    
    define("BASE_URL", "core.rodnoe.tv");
    define("SID", "RtvSid");
    define("UID", "RtvUid");
    define("TO", "RtvTo");
    
    class RtvFunctions {
      var $traces;
      var $user;
      var $pass;
      var $sid;
      var $uid;
      var $to;
    
      function RtvFunctions($traces = false) {
        $this->traces = $traces;
        $ini_array  = parse_ini_file("auth.ini");
        $this->user = $ini_array['user'];
        $this->pass = $ini_array['pass'];
        $this->sid  = isset($_SESSION[SID]) ? $_SESSION[SID] : "";
        $this->uid  = isset($_SESSION[UID]) ? $_SESSION[UID] : "";
        $this->to  = isset($_SESSION[TO]) ? $_SESSION[TO] : "";
      }
    
      function forgetSessionId() {
        $_SESSION[SID] = "";
        $_SESSION[UID] = "";
        $_SESSION[TO] = "";
        $this->sid = "";
        $this->uid = "";
        $this->to = "";
      }
    
      function trace($msg) {
        if ($this->traces) {
          print "DEBUG: " . $this->user . ": $msg\n";
        }
      }
    
      function authorize() {
        $this->trace("Authorization started");
    
        # Step 1 of 3: get DIV
        $params = $this->sendRequest("/tv_root.php?cmd=get_div&idn=1");
        if (isset($params['err']) && "" != $params['err']) {
          die($this->user . ": wrong user data");
        }
        $div = $params['div'];
        $this->trace("Key: " . $this->user . $div . $this->pass);
        $key = md5($this->user . $div . $this->pass);
    
        # Step 2 of 3: send authentication data
        $params = $this->sendRequest("/tv_root.php?cmd=auth&idn=1&key=$key");
        if (isset($params['err']) && "" != $params['err']) {
          die($this->user . ": wrong user data");
        }
        $this->uid = $params['uid'];
        $this->to = $params['to'];
    
        # Step 3 of 3: session id reading
        $url = "/tv_root.php?cmd=get_init&idn=1&uid=$this->uid&to=$this->to";
        $params = $this->sendRequest($url);
        if (isset($params['err']) && "" != $params['err']) {
          die($this->user . ": wrong user data");
        }
        $this->sid = $params['sid'];
    
        $this->trace("Authorization returned: $this->sid");
        $_SESSION[SID] = $this->sid;
        $_SESSION[UID] = $this->uid;
        $_SESSION[TO] = $this->to;
      }
    
      function isAuthorized($params = null) {
        $ok = (! isset($params['err']) || "" == $params['err']) &&
          isset($this->sid) && "" != $this->sid &&
          isset($this->uid) && "" != $this->uid &&
          isset($this->to) && "" != $this->to;
        if (! $ok) {
          $this->trace("Authorization missed or lost");
        }
        return $ok;
      }
    
      function getChannelsList() {
        if (! $this->isAuthorized()) {
          $this->authorize();
        }
        $url = "/tv_root.php?cmd=tv_list&idn=1&uid=$this->uid&to=$this->to";
        $params = $this->sendRequest($url);
        if (! $this->isAuthorized($params)) {
          $this->authorize();
        } else {
          return $params;
        }
        $url = "/tv_root.php?cmd=tv_list&idn=1&uid=$this->uid&to=$this->to";
        return $this->sendRequest($url);
      }
    
      function getStreamUrl($alias) {
        $this->trace("Getting URL of stream $alias");
        if (! $this->isAuthorized()) {
          $this->authorize();
        }
    
        # old way:
        # http://core.rodnoe.tv/go.php?t=ru-znanie&k=$sid
        # return "http://" . BASE_URL . "/go.php?t=$alias&k=$this->sid";
    
        # new way:
        # http://core.rodnoe.tv/get.php?ch=t+od-ru-ort+$sid
        return "http://" . BASE_URL . "/get.php?ch=t+$alias+$this->sid";
      }
    
      function getEpg($id, $date = null) {
        # date format is yyyy-mm-dd: 2010-09-20
        # NOTE: at 03:00 starts another EPG day
        $date = date('Y-m-d', $date);
        $timeZone = 120;
    
        if (! $this->isAuthorized()) {
          $this->authorize();
        }
        $url = "/tv_root.php?cmd=get_epg_ch&idn=1&uid=$this->uid";
        $url .= "&ch_id=$id&day=$date&tzo=$timeZone";
        $params = $this->sendRequest($url);
        if (! $this->isAuthorized($params)) {
          $this->authorize();
        } else {
          return $params;
        }
        $url = "/tv_root.php?cmd=get_epg_ch&idn=1&uid=$this->uid";
        $url .= "&ch_id=$id&day=$date&tzo=$timeZone";
        return $this->sendRequest($url);
      }
    
      function sendRequest($url) {
        # try to connect to host
        $fp = fsockopen(BASE_URL, 80, $errno, $errstr, 30);
        if (! $fp) {
          return array('err' => 'NO_CONNECTION');
        }
    
        # generate request
        $request = "GET $url HTTP/1.1\r\n" .
          "Host: " . BASE_URL . "\r\n" .
          "User-Agent: Mozilla/5.0 (PCH & XTR plugin by consros)\r\n".
          "Accept: application/json, text/javascript, */*\r\n".
          "Content-Type: application/x-www-form-urlencoded\r\n".
          "Connection: close\r\n".
          "X-Requested-With: XMLHttpRequest\r\n\r\n";
        $this->trace("===>$request\n\n");
    
        # send request and read response
        fwrite($fp, $request);
        $response = "";
        while (! feof($fp)) {
          $response .= fgets($fp, 1024);
        }
        fclose($fp);
    
        $this->trace("<===$response\n\n");
    
        # cut json object
        $response = substr($response, strpos($response, '{'));
        $response = substr($response, 0, strrpos($response, '}') + 1);
    
        # correct some weired response corruption coming with channels list
        $response = preg_replace('|\r\n[A-Za-z0-9]{1,4}\r\n|', '', $response);
    
        # exclude any new lines
        $response = str_replace(array("\r", "\n"), '', $response);
    
        $params = json_decode($response, true);
        return null != $params ? $params : array('err' => 'JSON_ERROR_SYNTAX');
      }
    }
    ?>
    Обсуждение всех нюансов развода в Германии. www.razvod.net

  • #2
    Re: Как авторизироваться при помощи python?

    итак вот кусочек от Eugene Bond
    за что ему огромное спасибо.
    Код:
    #
    
    import urllib2
    import json
    from md5 import md5
    from pprint import pprint
    
    RODNOE_API = 'http://core.rodnoe.tv/tv_root.php?cmd=%s'
    
    
    class rodnoe:
      
      def __init__(self, login, password):
        self.SID = None
        self.login = login
        self.password = password
        self.uid = None
        self.to = None
        
      def _request(self, cmd, params, inauth = None):
        
        if self.SID == None:
          if inauth == None:
            self._auth(self.login, self.password)
        
        url = RODNOE_API % cmd
        url = url + '&' + params
        #if (self.SID != None):
        #  url = url + '&' + self.SID
        print 'Requesting %s' % url
        
        req = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0', 'Connection': 'Close', 'Accept': 'application/json, text/javascript, */*\r\n', 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded'})
        rez = urllib2.urlopen(req).read()
        
        pprint(rez)
        
        res = json.read(rez)
        
        self._errors_check(res)
        
        return res
      
      def _auth(self, user, password):
        response = self._request('get_div', 'idn=1', 1)
        #pprint(response)
        
        if response['div']:
          token = md5(self.login + response['div'] + self.password).hexdigest()
          response = self._request('auth', 'idn=1&key=%s' % token, 1)
          
          if response['uid']:
            self.uid = response['uid']
            self.to = response['to']
            
            response = self._request('get_init', 'idn=1&uid=%s&to=%s' % (self.uid, self.to), 1)
            
            if response['sid']:
              self.SID = response['sid']
            
          
            
      def _errors_check(self, json):
        if json['err']:
          print json['err']
          self.SID = None
      
      
      def getChannelsList(self):
        pprint(self._request('tv_list', 'idn=1&uid=%s&to=%s' % (self.uid, self.to)))
      
      
      def test(self):
        self.getChannelsList()
        
        
          
    if __name__ == '__main__':
      foo = rodnoe('demo', 'demo')
      foo.test()
    у меня на маке не пашет

    Requesting http://core.rodnoe.tv/tv_root.php?cmd=get_div&idn=1
    '{"err":"ERR_BAD_REQ"}&#39 ;
    ERR_BAD_REQ
    Traceback (most recent call last):
    File "/Users/nitro/pythontests/rtv.py", line 79, in <module>
    foo.test()
    File "/Users/nitro/pythontests/rtv.py", line 73, in test
    self.getChannelsList()
    File "/Users/nitro/pythontests/rtv.py", line 69, in getChannelsList
    pprint(self._request('tv_list', 'idn=1&uid=%s&to=%s' % (self.uid, self.to)))
    File "/Users/nitro/pythontests/rtv.py", line 24, in _request
    self._auth(self.login, self.password)
    File "/Users/nitro/pythontests/rtv.py", line 47, in _auth
    if response['div']:
    KeyError: 'div'
    может библиотека не подходит
    http://sunet.dl.sourceforge.net/proj...son-py-3_4.zip
    Обсуждение всех нюансов развода в Германии. www.razvod.net

    Комментарий


    • #3
      Re: Как авторизироваться при помощи python?

      Код:
        def test(self):
          self._auth(self.login, self.password)
      думал может авторизация пройдет...
      Python 2.7 (r27:82508, Jul 3 2010, 20:17:05)
      [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
      Type "copyright", "credits" or "license()" for more information.
      >>> ================================ RESTART ================================
      >>>
      Requesting http://core.rodnoe.tv/tv_root.php?cmd=get_div&idn=1
      '{"err":"ERR_BAD_REQ"}&#39 ;
      ERR_BAD_REQ

      Traceback (most recent call last):
      File "/Users/nitro/pythontests/rtv.py", line 79, in <module>
      foo.test()
      File "/Users/nitro/pythontests/rtv.py", line 73, in test
      self._auth(self.login, self.password)
      File "/Users/nitro/pythontests/rtv.py", line 47, in _auth
      if response['div']:
      KeyError: 'div'
      >>>
      чтото здесь не то...
      Обсуждение всех нюансов развода в Германии. www.razvod.net

      Комментарий


      • #4
        Re: Как авторизироваться при помощи python?

        вот поправленная версия
        Код:
        #
        
        import urllib2
        import json
        from md5 import md5
        from pprint import pprint
        
        RODNOE_API = 'http://core.rodnoe.tv/tv_root.php?cmd=%s'
        
        
        class rodnoe:
        	
        	def __init__(self, login, password):
        		self.SID = None
        		self.login = login
        		self.password = password
        		self.uid = None
        		self.to = None
        		
        	def _request(self, cmd, params, inauth = None):
        		
        		if self.SID == None:
        			if inauth == None:
        				self._auth(self.login, self.password)
        		
        		url = RODNOE_API % cmd
        		url = url + '&' + params
        		if (self.SID != None):
        		#	url = url + '&' + self.SID
        			url = url + '&uid=%s&to=%s' % (self.uid, self.to)
        		print 'Requesting %s' % url
        		
        		req = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0', 'Connection': 'Close', 'Accept': 'application/json, text/javascript, */*\r\n', 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded'})
        		rez = urllib2.urlopen(req).read()
        		
        		pprint(rez)
        		
        		res = json.read(rez)
        		
        		self._errors_check(res)
        		
        		return res
        	
        	def _auth(self, user, password):
        		response = self._request('get_div', 'idn=1', 1)
        		#pprint(response)
        		
        		if response['div']:
        			token = md5(self.login + response['div'] + self.password).hexdigest()
        			response = self._request('auth', 'idn=1&key=%s' % token, 1)
        			
        			if response['uid']:
        				self.uid = response['uid']
        				self.to = response['to']
        				
        				response = self._request('get_init', 'idn=1&uid=%s&to=%s' % (self.uid, self.to), 1)
        				
        				if response['sid']:
        					self.SID = response['sid']
        				
        			
        				
        	def _errors_check(self, json):
        		if json['err']:
        			print json['err']
        			self.SID = None
        	
        	
        	def getChannelsList(self):
        		pprint(self._request('tv_list', 'idn=1'))
        	
        	
        	def test(self):
        		self.getChannelsList()
        		
        		
        			
        if __name__ == '__main__':
        	foo = rodnoe('demo', 'demo')
        	foo.test()
        на маке работает. у тебя умирает потому что ERR_BAD_REQ в ответе (умирает в другом месте, но проблема именно в этой ошибке)

        дамп списка каналов для юзера демо:
        Код:
        eugene$ python rtv.py 
        Requesting http://core.rodnoe.tv/tv_root.php?cmd=get_div&idn=1
        '{"div":"2010-10-15","err":""}'
        Requesting http://core.rodnoe.tv/tv_root.php?cm...9cf85a67c86e5d
        '{"uid":"1","to":"319269934","err":""}'
        Requesting http://core.rodnoe.tv/tv_root.php?cm...p;to=319269934
        '{"ttl":"900","buf":"5","msrv_id":"0","msrv_url":"http:\\/\\/core.rodnoe.tv\\/get.php","sid":"u4tjigitev242a8f5dd2922146dad81ea3c4f535a5","level":"2","err":""}'
        Requesting http://core.rodnoe.tv/tv_root.php?cm...p;to=319269934
        '{"tv":[{"id":"63","name":"demo \\u0418\\u041d\\u0422\\u0415\\u0420","alias":"ua-demo-inter","ico":"img\\/ico\\/tv\\/ua-inter.gif","genre_id":"1","lng":"rus","ar":"4:3"},{"id":"32","name":"demo 1+1","alias":"ua-demo-1plus1","ico":"img\\/ico\\/tv\\/ua-1plus1.gif","genre_id":"1","lng":"rus","ar":"4:3"},{"id":"28","name":"demo \\u0420\\u0415\\u0422\\u0420\\u041e","alias":"ru-demo-retro","ico":"img\\/ico\\/tv\\/ru-retro.gif","genre_id":"2","lng":"rus","ar":"4:3"},{"id":"60","name":"demo RTVI","alias":"ru-demo-rtvi","ico":"img\\/ico\\/tv\\/rtvi.gif","genre_id":"1","lng":"rus","ar":"4:3"},{"id":"59","name":"demo RBK","alias":"ru-demo-rbk","ico":"img\\/ico\\/tv\\/rbk.gif","genre_id":"1","lng":"rus","ar":"4:3"}],"err":""}'
        {'err': '',
         'tv': [{'alias': 'ua-demo-inter',
             'ar': '4:3',
             'genre_id': '1',
             'ico': 'img/ico/tv/ua-inter.gif',
             'id': '63',
             'lng': 'rus',
             'name': u'demo \u0418\u041d\u0422\u0415\u0420'},
            {'alias': 'ua-demo-1plus1',
             'ar': '4:3',
             'genre_id': '1',
             'ico': 'img/ico/tv/ua-1plus1.gif',
             'id': '32',
             'lng': 'rus',
             'name': 'demo 1+1'},
            {'alias': 'ru-demo-retro',
             'ar': '4:3',
             'genre_id': '2',
             'ico': 'img/ico/tv/ru-retro.gif',
             'id': '28',
             'lng': 'rus',
             'name': u'demo \u0420\u0415\u0422\u0420\u041e'},
            {'alias': 'ru-demo-rtvi',
             'ar': '4:3',
             'genre_id': '1',
             'ico': 'img/ico/tv/rtvi.gif',
             'id': '60',
             'lng': 'rus',
             'name': 'demo RTVI'},
            {'alias': 'ru-demo-rbk',
             'ar': '4:3',
             'genre_id': '1',
             'ico': 'img/ico/tv/rbk.gif',
             'id': '59',
             'lng': 'rus',
             'name': 'demo RBK'}]}

        Комментарий


        • #5
          Re: Как авторизироваться при помощи python?

          добавил получение программы передач. в принципе, так как cronos уже расковырял все основные проблемы, сейчас портировать остальные функции не должно быть проблемой

          Код:
          #
          
          import urllib2
          import json
          from md5 import md5
          import datetime
          
          
          from pprint import pprint
          
          RODNOE_API = 'http://core.rodnoe.tv/tv_root.php?cmd=%s'
          
          
          class rodnoe:
          	
          	def __init__(self, login, password):
          		self.SID = None
          		self.login = login
          		self.password = password
          		self.uid = None
          		self.to = None
          		self.timeZone = 120
          		
          	def _request(self, cmd, params, inauth = None):
          		
          		if self.SID == None:
          			if inauth == None:
          				self._auth(self.login, self.password)
          		
          		url = RODNOE_API % cmd
          		url = url + '&idn=1&' + params
          		if (self.SID != None):
          		#	url = url + '&' + self.SID
          			url = url + '&uid=%s&to=%s' % (self.uid, self.to)
          		print 'Requesting %s' % url
          		
          		req = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0', 'Connection': 'Close', 'Accept': 'application/json, text/javascript, */*\r\n', 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded'})
          		rez = urllib2.urlopen(req).read()
          		
          		pprint(rez)
          		
          		res = json.read(rez)
          		
          		self._errors_check(res)
          		
          		return res
          	
          	def _auth(self, user, password):
          		response = self._request('get_div', '', 1)
          		#pprint(response)
          		
          		if response['div']:
          			token = md5(self.login + response['div'] + self.password).hexdigest()
          			response = self._request('auth', 'key=%s' % token, 1)
          			
          			if response['uid']:
          				self.uid = response['uid']
          				self.to = response['to']
          				
          				response = self._request('get_init', 'uid=%s&to=%s' % (self.uid, self.to), 1)
          				
          				if response['sid']:
          					self.SID = response['sid']
          				
          			
          				
          	def _errors_check(self, json):
          		if json['err']:
          			print json['err']
          			self.SID = None
          	
          	
          	def getChannelsList(self):
          		response = self._request('tv_list', '')
          		return response['tv']
          	
          	def getEPG(self, chid, dt = None):
          		if dt == None:
          			dt = datetime.date.today().strftime('%Y-%m-%d')
          		
          		response = self._request('get_epg_ch', 'ch_id=%s&day=%s&tzo=%s' % (chid, dt, self.timeZone))
          		pprint(response)
          		return response
          	
          	def test(self):
          		channels = self.getChannelsList()
          		for channel in channels:
          			self.getEPG(channel['id'])
          		
          			
          if __name__ == '__main__':
          	foo = rodnoe('demo', 'demo')
          	foo.test()

          Комментарий


          • #6
            Re: Как авторизироваться при помощи python?

            огромное спасибо!
            вечером займусь

            у тебя умирает потому что ERR_BAD_REQ в ответе
            не совсем понял, когда ты вбиваешь в браузере урл
            http://core.rodnoe.tv/tv_root.php?cmd=get_div&idn=1
            то получаешь нормальный ответ? а не эту ошибку?
            Обсуждение всех нюансов развода в Германии. www.razvod.net

            Комментарий


            • #7
              Re: Как авторизироваться при помощи python?

              вот на работе запустил поправленую версию, разницы не вижу
              может мне джейсон както заинсталить нужно, а не просто ложить в одной папке с запускаемым файлом?

              C:\Python27>python.exe RTV.py
              Requesting http://core.rodnoe.tv/tv_root.php?cmd=get_div&idn=1
              '{"err":"ERR_BAD_REQ"}&#39 ;
              ERR_BAD_REQ
              Traceback (most recent call last):
              File "RTV.py", line 80, in <module>
              foo.test()
              File "RTV.py", line 74, in test
              self.getChannelsList()
              File "RTV.py", line 70, in getChannelsList
              pprint(self._request('tv_list', 'idn=1&#39)
              File "RTV.py", line 24, in _request
              self._auth(self.login, self.password)
              File "RTV.py", line 48, in _auth
              if response['div']:
              KeyError: 'div'

              C:\Python27>
              Обсуждение всех нюансов развода в Германии. www.razvod.net

              Комментарий


              • #8
                Re: Как авторизироваться при помощи python?

                Родному надо дать понять что Request идет от Browser

                req = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0', 'Connection': 'Close', 'Accept': 'application/json, text/javascript, */*\r\n', 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded'})

                может CLOSE надо последним параметром передавать
                xTreamer 2.4.2S / 500 GB HDD + kartinaTV + rodnoeTV
                Kathrein UFS910 / 500GB HDD / AAF Hot Summer Image V2
                Nokia dBox-2 Neutrino
                S-100 Daxtor Image

                Комментарий


                • #9
                  Re: Как авторизироваться при помощи python?

                  да вроде как даем, в код загляни, стоит мол мозилла, ты если этот линк в браузере вбиваеш, то какой ответ получаешь? я ошибку
                  Обсуждение всех нюансов развода в Германии. www.razvod.net

                  Комментарий


                  • #10
                    Re: Как авторизироваться при помощи python?

                    Mozilla расставляет все по своим местам и передает, а у тебя CLOSE идет вторым
                    У меня тоже так было, пока я не добавил в конце "X-Requested-With", "XMLHttpRequest"

                    Req.Method = "GET"
                    Req.ContentType = "application/x-www-form-urlencoded"
                    Req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7"
                    Req.Accept = "application/json, text/javascript, */*"
                    Req.Headers.Add("X-Requested-With", "XMLHttpRequest&quot

                    правда CLOSE я не делал. ето на VB.NET
                    xTreamer 2.4.2S / 500 GB HDD + kartinaTV + rodnoeTV
                    Kathrein UFS910 / 500GB HDD / AAF Hot Summer Image V2
                    Nokia dBox-2 Neutrino
                    S-100 Daxtor Image

                    Комментарий


                    • #11
                      Re: Как авторизироваться при помощи python?

                      еще раз повторю свой вопрос

                      когда ты вбиваешь в браузере этот линк
                      http://core.rodnoe.tv/tv_root.php?cmd=get_div&idn=1
                      что получешь в файле ответа?
                      я получаю {"err":"ERR_BAD_REQ"} и не важно в каком браузере
                      Обсуждение всех нюансов развода в Германии. www.razvod.net

                      Комментарий


                      • #12
                        Re: Как авторизироваться при помощи python?

                        Да, сейчас проверил, в броузере Еrr, через Request все идет
                        xTreamer 2.4.2S / 500 GB HDD + kartinaTV + rodnoeTV
                        Kathrein UFS910 / 500GB HDD / AAF Hot Summer Image V2
                        Nokia dBox-2 Neutrino
                        S-100 Daxtor Image

                        Комментарий


                        • #13
                          Re: Как авторизироваться при помощи python?

                          Попробуй в твоем Request все попорядку как у consors расставить и сделать Request

                          "GET $url HTTP/1.1\r\n" .
                          "Host: " . BASE_URL . "\r\n" .
                          "User-Agent: Mozilla/5.0 (PCH & XTR plugin by consros)\r\n".
                          "Accept: application/json, text/javascript, */*\r\n".
                          "Content-Type: application/x-www-form-urlencoded\r\n".
                          "Connection: close\r\n".
                          "X-Requested-With: XMLHttpRequest\r\n\r\n";
                          xTreamer 2.4.2S / 500 GB HDD + kartinaTV + rodnoeTV
                          Kathrein UFS910 / 500GB HDD / AAF Hot Summer Image V2
                          Nokia dBox-2 Neutrino
                          S-100 Daxtor Image

                          Комментарий


                          • #14
                            Re: Как авторизироваться при помощи python?

                            А может в твоем Request не xватает HOST, GET ?
                            xTreamer 2.4.2S / 500 GB HDD + kartinaTV + rodnoeTV
                            Kathrein UFS910 / 500GB HDD / AAF Hot Summer Image V2
                            Nokia dBox-2 Neutrino
                            S-100 Daxtor Image

                            Комментарий


                            • #15
                              Re: Как авторизироваться при помощи python?

                              извеняй, я в реквестах не разбираюсь, тут без Eugene Bond я ноль.
                              но он пишет мол у него с этими скриптами авторизация проходит... а вот у меня нет
                              Обсуждение всех нюансов развода в Германии. www.razvod.net

                              Комментарий

                              Обработка...
                              X