VKontakte рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг

рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ VKontakte рдХреБрдЫ рдЕрдЬреАрдм рддрд░реАрдХреЗ рд╕реЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ, рдЬреЛ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рджрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдИ-рдореЗрд▓ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдФрд░ рдлрд┐рд░ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдФрджреНрдпреЛрдЧрд┐рдХ" рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╡рд┐рдзрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдмрджрд▓ рд╕рдХрддреА рд╣реИред

require 'net/http' #  ( ) app_id = '1234567' # ID ,    email = 'mail@example.com' password = 'qwerty' app_rights = 16383 #   (16383 -  ) #     resp = Net::HTTP.post_form(URI.parse('http://vk.com/login.php'), {'m' => '1', 'email' => email, 'pass' => password}) cookies = resp.response['set-cookie'] remixsid = cookies.split('remixsid=')[1].split(';')[0].split(',')[0] #    http://vk.com header = { "Cookie" => 'remixsid=' + remixsid } conn = Net::HTTP.new('vk.com', 80) #     resp = conn.get('http://vk.com/login.php?app=' + app_id + '&layout=popup&type=browser&settings=32767', header) auth_hash = resp.body.split('var auth_hash = \'')[1].split('\';')[0] rights_hash = resp.body.split('var app_settings_hash = \'')[1].split('\';')[0] #    req = '' mask = 1 14.times do if (app_rights & mask == 0) req += ('&app_settings_' + mask.to_s + '=0') else req += ('&app_settings_' + mask.to_s + '=1') end mask *= 2 end resp = conn.get('http://vk.com/apps.php?act=a_save_settings&addMember=1' + req + '&hash=' + rights_hash + '&id=' + app_id, header) #   resp = conn.get('http://vk.com/login.php?act=a_auth&app=' + app_id + '&hash=' + auth_hash + '&permanent=1', header) auth_json = resp.body #       API  JSON puts auth_json #   -  

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ:
 {"mid":1000xxxxx,"sid":"xxxx6ed0xxxx2516xxxx49eacd0ec30f9961c01d30d15c3152e459xxxx", "secret":"335xxxxxxx","expire":0} 

рдпрд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд╛рдо рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдЦрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдореЛрдмрд╛рдЗрд▓ рдлреЛрди рд╕реЗ рдмрдВрдзреЗ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреИрдкреНрдЪрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рднреА рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ, рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ: vk.com/developers.php
рдЖрд╡реЗрджрди рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд╣рд╛рдВ рд▓рд┐рдЦрд╛ рд╣реИред рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлреЙрд░реНрдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, "рд╕реЗрдЯрд┐рдВрдЧ = 32767" рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЕрд░реНрдерд╛рдд 2 ^ n-1 рдРрд╕рд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЕрдзрд┐рдХрд╛рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЬ, 16383 рдЕрдзрд┐рдХрддрдо рдЕрдзрд┐рдХрд╛рд░реЛрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
PS "рд╕рд░рд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг" рдХреЛ рд╢реАрд░реНрд╖рдХ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рддреБрдЪреНрдЫ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред


Source: https://habr.com/ru/post/In111430/


All Articles