import requests
import json
BTC_rosbank = {'tokenId': 'BTC', 'currencyId': 'RUB', 'payment': 75, 'side': 1, 'size': 10, 'page': 1}
headers = {
'accept': '*/*',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'ru-RU',
'cache-control': 'no-cache',
'content-length': '85',
'content-type': 'application/x-www-form-urlencoded',
'guid': 'dfc2731c-84fe-30f1-33fb-a1ae4f96d5de',
'lang': 'ru-RU',
'origin': 'https://www.bybit.com',
'platform': 'PC',
'pragma': 'no-cache',
'referer': 'https://www.bybit.com/',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': 'Windows',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'
}
json = json.dumps(BTC_rosbank)
result_BTC_rosbank = requests.post('https://api2.bybit.com/spot/api/otc/item/list', headers=headers, data=BTC_rosbank)
print(result_BTC_rosbank.text)
У меня это работает, нужно убрать некоторые параметры из переменной BTC_Rosbank, 'accept' сделать '*/*', потому что requests сама определяет тип входящих данных (content-type - тоже ловушка в данной ситуации, у меня эта строка мешала парсить бинанс). Ну и вместо json отправлять data. Я парсил всю страницу сразу, не знаю, получится ли у вас по вашим запросам (+ удалить кукис и токен)