Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 26, 2014 12:29:47

ivanos
Зарегистрирован: 2014-02-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

Использую API Яндекс Маркета
Вот метод 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



Отредактировано ivanos (Фев. 26, 2014 12:38:14)

Офлайн

#2 Фев. 26, 2014 20:37:23

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

проверь на названии без русских букв



Офлайн

#3 Фев. 27, 2014 07:27:30

ivanos
Зарегистрирован: 2014-02-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

py.user.next
проверь на названии без русских букв
Полей без русских букв нет.

Офлайн

#4 Фев. 27, 2014 10:52:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

Офлайн

#5 Фев. 27, 2014 10:56:02

ivanos
Зарегистрирован: 2014-02-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

py.user.next
http://market.yandex.ru/model.xml?modelid=6409859&hid=90548
“Monitor Audio Bronze BX2”

Жду от Вас авторизационные данные от указанного магазина:
'Authorization','OAuth oauth_token=“?”, oauth_client_id=“?”, oauth_login=“?”'

Отредактировано ivanos (Фев. 27, 2014 10:56:36)

Офлайн

#6 Фев. 27, 2014 11:09:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

ivanos
Жду от Вас авторизационные данные от указанного магазина:
по-моему, это наглость с твоей стороны



Офлайн

#7 Фев. 27, 2014 11:26:22

ivanos
Зарегистрирован: 2014-02-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

py.user.next
Нет это просто к тому что в магазине к которому у меня есть достут нет товарных позиций без русских букв.

Офлайн

#8 Фев. 27, 2014 11:49:29

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

ivanos
в магазине к которому у меня есть достут нет товарных позиций без русских букв
сначала нужно удостовериться, что код правильный, а для этого нужно исключить возможные факторы, которые могут приводить к отказу
в данном случае проблема с кодировкой требует перейти на самую простую кодировку

потому что, если там возвращается то же самое, то кодировка ни при чём



Офлайн

#9 Фев. 27, 2014 11:51:48

ivanos
Зарегистрирован: 2014-02-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

py.user.next
Нет возможности проверить.

Офлайн

#10 Март 18, 2014 12:15:14

ivanos
Зарегистрирован: 2014-02-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Передать в POST запросе JSON содержащий кирилицу

UP!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version