Есть следующий код:
import requests
import hmac
import hashlib
import random
import string
import json
import argparse
def randomString(size):
chars = string.ascii_lowercase + string.digits
return ''.join(random.choice(chars) for _ in range(size))
def HMAC(text):
key = '3f0a7d75e094c7385e3dbaa026877f2e067cbd1a4dbcf3867748f6b26f257117'
hashs = hmac.new(key, text, hashlib.sha256)
return hashs.hexdigest()
def main():
parser = argparse.ArgumentParser()
parser.add_argument('name', help='Full Name')
parser.add_argument('username', help='Username')
parser.add_argument('email', help='Email')
parser.add_argument('password', help='Password')
args = parser.parse_args()
getHeaders = {
'User-Agent':'Instagram 7.1.1 Android (21/5.0.2; 480dpi; 1080x1776; LGE/Google; Nexus 5; hammerhead; hammerhead; en_US)',
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'en-US,en;q=0.8',
'upgrade-insecure-requests':'1'
}
s = requests.Session()
s.get('https://instagram.com',headers=getHeaders)
guid = randomString(8) + '-' + randomString(4) + "-" + randomString(4) + '-' + randomString(4) + '-' +randomString(12)
information = {
'username':args.username,
'first_name':args.name,
'password':args.password,
'email':args.email,
'guid':guid
}
js = json.dumps(information)
payload = {
'signed_body': HMAC(js) + '.' + js,
'ig_sig_key_version':'4'
}
postHeaders = {'Host':'i.instagram.com',
'User-Agent':'Instagram 7.1.1 Android (21/5.0.2; 480dpi; 1080x1776; LGE/Google; Nexus 5; hammerhead; hammerhead; en_US)',
'Accept-Language':'en-US',
'Accept-Encoding':'gzip',
'Cookie2':'$Version=1',
'X-IG-Connection-Type':'WIFI',
'X-IG-Capabilities':'BQ=='
}
x = s.post('https://i.instagram.com/api/v1/accounts/create/', headers=postHeaders, data=payload)
result = json.loads(x.content)
if result['status'] != 'fail':
if result['account_created'] == True:
print('Account has been created successfully')
else:
print('Error:')
for i in result['errors']:
print(str(result['errors'][i][0]))
else:
if result['spam'] == True:
print('Instagram blocks your IP due to spamming behaviour.')
if __name__ == '__main__':
main()
Не работает часть с функцией HMAC(). Не могу разобраться. Цель: зарегистрировать пользователя через скрипт(в моем примере данные задаются в самой консоли). Если есть какие-нибудь решения прошу поделиться ссылкой на источник. Заранее спасибо
Также возможно решение на любом браузерном языке(php, js)