Недавно анализировал приложениe Zenly через mitmproxy, оказалось, оно работает на gRPC, я смог извлечь полезную нагрузку запроса. Хочу данный запрос эмулировать при помощи Python со своими параметрами. Например, есть такой URL:
https://secret.zenly.rpc.com/co.znly.users.services.sessions.SessionsService/SessionCreate
, запрос на который отправляет SMS с кодом подтверждения. Полезная нагрузка для вызова данной функции следующая:
{
"phoneNumber": "secret",
"device": {
"appVersion": "4.63.14",
"type": "ANDROID",
"osVersion": "12",
"model": "secret",
"acceptLanguages": "en-US;q=1.0",
"coreVersion": "1.96.7",
"appBundle": "app.zenly.locator"
},
"deviceOsUuid": "secret",
"carrierInformations": {
"networkOperatorCode": "25001",
"networkOperatorName": "MTS",
"networkCountryIso": "ru",
"simOperatorCode": "25001",
"simOperatorName": "MTS RUS",
"simCountryIso": "ru"
}
}
Так вот, как отправить все это на сервер корректно, в сериализированном (?) формате без Proto-файлов?
p.s.
grpc_requests и grpcurl НЕ подошли