Всем привет! Сегодня рассмотрим небольшой скрипт на Python, с помощью которого можем автоматизировать процесс получения имени и фамилии пользователя ВК по номеру телефона. Для этого нам нужен аккаунт ВК, в котором активирован услуга Vk Pay.
Заходим в Карты VK Pay, нажимаем Перевести, По номеру телефона, вводим любой номер на который зарегистрирован аккаунт VK, нажимаем Далее, и получаем имю и фамилию пользователя. При этом смотрим, какие запросы шлет браузер на сервер, где расположен API.
Как видим, браузер сделал POST запрос на uri https://api.vkpay.io/visa-alias/p2p/options, отправив при этом номер телефона как json {"phone":"+7 914 988-43-45"}.
Нам остается посмотреть что еще шлет браузер в headers.
Недолго думая, пишем такой вот скрипт на питоне.
Вот и все!
Заходим в Карты VK Pay, нажимаем Перевести, По номеру телефона, вводим любой номер на который зарегистрирован аккаунт VK, нажимаем Далее, и получаем имю и фамилию пользователя. При этом смотрим, какие запросы шлет браузер на сервер, где расположен API.
Как видим, браузер сделал POST запрос на uri https://api.vkpay.io/visa-alias/p2p/options, отправив при этом номер телефона как json {"phone":"+7 914 988-43-45"}.
Нам остается посмотреть что еще шлет браузер в headers.
Недолго думая, пишем такой вот скрипт на питоне.
Python:
import requests
headers ={
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0",
"Accept": "application/json, text/plain, */*",
"Accept-Language": "en-US,en;q=0.5",
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/json",
"X-App-Params": '{"vk_access_token_settings":"notify,friends,groups","vk_app_id":"71876443","vk_are_notifications_enabled":"0","vk_experiment":"eyIxNjE4Ijdfhf","vk_is_app_user":"1","vk_is_favorite":"0","vk_language":"ru","vk_platform":"desktop_web","vk_ref":"other","vk_ts":"1660982198","vk_user_id":"745256811","sign":"Y_6dfrtO4vnQl_qiTM2oiy-kONE20qaMq3V0qPBLxW-I"}',
"X-VKPAY-SESSIONID": "1N_q-5uytr",
"X-VKPAY-PLATFORM": "web",
"X-VK-Id": "745256811",
"X-VK-Hash": "fa0411fgrt0e0cf",
"X-VKApp-Token": "b7724b50-30ee-4df0-9ce7-f9b7a62644c6",
"X-VKPAY-VERSION": "2.0.0",
"X-MT-LVID": "e66f55d259jfhfkglf41e000dab3046d24",
"Content-Length": "28",
"Origin": "https://ea-miniapp.vkpay.io",
"Connection": "keep-alive",
"Referer": "https://ea-miniapp.vkpay.io/",
"Cookie": "_ga_R11HGFJPN3=GS1.1.1660982198.8.1.1660982282.51.0.0; _ga=GA1.1.1374728327.1657923647; tmr_reqNum=69; tmr_lvid=e66f5yfj76864c84f41e000dab3046d24; tmr_lvidTS=1657923646842",
'Sec-Fetch-Dest': "empty",
'Sec-Fetch-Mode': "cors",
'Sec-Fetch-Site': "same-site"
}
def get_name_from_vk(number):
url = "https://api.vkpay.io/visa-alias/p2p/options"
res = requests.post(url, headers=headers, json={"phone": number})
name = res.json()['additional_data']['user_name']
return name
if __name__ == '__main__:
print(get_name_from_vk('79149884345')
Вот и все!
Последнее редактирование: