У меня есть ссылка, которая открывает тонн-кошелек на Android. Я хочу создать новый кошелек на Python и авторизоваться в приложении. Я знаю, что это просто запрос на публикацию, но как это сделать правильно?
Пример ссылки:
tc://?v=2&id=538d2f45a78e55edd4f2c415648142270e840eaa7228426630172d840fa7083b&r= %7B%22manifestUrl%22%3A%22https%3A%2F%2Fexample.com%2Fmanifest.json%22%2C%22items%22%3A%5B%7B%22name%22%3A%22ton_addr%22%7D%2C %7B%22name%22%3A%22ton_proof%22%2C%22payload%22%3A%22SCYXKCw2vMEsFW7cDv6CxoVIdj%2BGkUWtDV%2BBjXHa1h4%3D%22%7D%5D%7D
Я смотрел источник код кошельков, ищу информацию в Google.
ChatGPT дал мне этот код, но он не работает:
import requests
import json
import base64
from urllib.parse import unquote
def parse_tc_url(tc_url):
# Извлекаем часть r из ссылки
url_parts = tc_url.split('?')
if len(url_parts) < 2:
raise ValueError("Неверная tc-ссылка")
params = url_parts[1]
r_param = params.split('&')[-1]
# Декодируем r параметр
raw_r = unquote(r_param.split('=')[1])
return json.loads(raw_r)
def authorize_with_ton_connect(tc_url):
# Парсинг ссылки
data = parse_tc_url(tc_url)
# Получение полей для авторизации
ton_addr = next(item['name'] for item in data['items'] if item['name'] == "ton_addr")
ton_proof = next(item['payload'] for item in data['items'] if item['name'] == "ton_proof")
# URL для отправки данных авторизации
auth_url = "https://example.com/auth" # Замените на ваш действительный URL для авторизации
# Подготовка данных для POST-запроса
auth_data = {
"ton_addr": ton_addr,
"ton_proof": ton_proof
}
# Выполнение POST-запроса
response = requests.post(auth_url, json=auth_data)
# Проверка результата
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Ошибка при авторизации: {response.status_code} - {response.text}")
# Пример ссылки
tc_url = "tc://?v=2&id=757c46d50210689da97a3241822065fa8ce01718fc7d5981903a46bffbbbe011&r=%7B%22manifestUrl%22%3A%22https%3A%2F%2Fexample.com%2Fmanifest.json%22%2C%22items%22%3A%5B%7B%22name%22%3A%22ton_addr%22%7D%2C%7B%22name%22%3A%22ton_proof%22%2C%22payload%22%3A%22EH44OZ1oaKCnjQewmDcyGTtb4GpgKI12bZJYzhVtkgU%3D%22%7D%5D%7D"
try:
auth_response = authorize_with_ton_connect(tc_url)
print("Успешная авторизация! Информация:", auth_response)
except Exception as e:
print("Ошибка:", e)
Подробнее здесь: https://stackoverflow.com/questions/788 ... ect-python
Как авторизовать кошелек с помощью ton Connect? (Питон) ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как подключить мой тонневый кошелек на веб -сайт без использования кошельков TON
Anonymous » » в форуме Python - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-