Вот метод http://api.yandex.ru/market/partner/doc/dg/reference/post-campaigns-id-bids.xml
Подаю на вход JSON содержащий кириллицу получаю пустой JSON.
val = json.dumps({'offers' : [{'name': 'Принтер Panasonic HX-DC3EE White'}]}, ensure_ascii=False) print(val) values = val.encode('utf_8') print(values) url = 'https://api.partner.market.yandex.ru/v2/campaigns/%d/bids.json' % (idcom) reg = urllib.request.Request(url, method='POST') reg.add_header('Content-Type', 'application/json') reg.add_header('Host', 'api.partner.market.yandex.ru') reg.add_header('Authorization','OAuth oauth_token="", oauth_client_id="", oauth_login=""') reg.add_data(values) try: response = urllib.request.urlopen(reg) json_data=response.read().decode("utf8", 'ignore') dataj = json.loads(json_data) print(dataj) except urllib.error.HTTPError as error: print(error.read())
{"offers": [{"name": "Принтер Panasonic HX-DC3EE White"}]}
b'{"offers": [{"name": "\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbd\xd1\x82\xd0\xb5\xd1\x80 Panasonic HX-DC3EE White"}]}'Ответ от сервера:
{'bids': []}
Python 3.3