Если я сделаю POST-запрос к определенному серверу, используя плагин Chrome, я вижу, что «тело ответа» прекрасно возвращается в формате JSOn.
Однако, когда я пытаюсь сделать это либо с«request» или «https.request», «body» возвращается как юникод, который я не могу расшифровать.Кто-нибудь знает, как я могу вернуть тело как обычный JSON, или как я могу расшифровать этот юникод?Я попробовал несколько решений для работы со стеком, чтобы расшифровать юникод, но безуспешно.
raw body:
��RPP�M-.NLOUR�RP�I,�K�P�,V��/QHL.�,KU��J�O�*─
�⎽�����wt�
⎽U��┬�>H ---
Если я сделаю это: JSON.stringify (body, null, 4)
"\┤001°�\␉\┤0000\┤0000\┤0000\┤0000\┤0000\┤0000\┤0000��RPP�M-.NLOUR�RP�I,�K�P�,V��/QHL.�,KU�\┤0001�J�O�*─\°�⎽����\┤000°�┬├\┤000␊�\°⎽U�\┤0005\┤0000�┬�>H\┤0000\┤0000\┤0000"
А вот два фрагмента кода, которые я использую, чтобы попытаться сделать POST-запросы:
request({
'url': 'https://api.nike.com/launch/entries/v2',
'method': 'POST',
'json': entriesPayload,
'headers': {
'authorization': authId,
"Accept": "application/json, text/plain, */*",
'Content-Type': "application/json;charset=utf-8"
},
},
...
и:
var options = {
hostname: 'api.nike.com',
port: 443,
path: '/launch/entries/v2',
method: 'POST',
json: entriesPayload,
headers: {
'authorization': authId,
"Accept": "application/json, text/plain, */*",
'Content-Type': 'application/json;charset=utf-8'
}
};
var req = https.request(options, (res) => {
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (e) => {
console.error(e);
});
req.write(postData);
req.end();
Также я получаю некоторые действительно странныечто-то происходит после того, как я сделаю запрос, в журналах моей IDE.Это то, что обнаруживается - это как будто переводит все в несколько разных символов (последние 3 строки показывают, как я перезапустил свой сервер nodejs).
"⎻⎺⎼├": 443,
"⎺⎽├┼▒└␊": "▒⎻␋.┼␋┐␊.␌⎺└",
"▒⎽": ┼┤┌┌,
"⎽␊▒⎼␌": ┼┤┌┌,
"─┤␊⎼≤": ┼┤┌┌,
"⎻▒├┼▒└␊": "/┌▒┤┼␌/␊┼├⎼␋␊⎽/┴2",
"⎻▒├": "/┌▒┤┼␌/␊┼├⎼␋␊⎽/┴2",
"⎼␊°": "├├⎻⎽://▒⎻␋.┼␋┐␊.␌⎺└/┌▒┤┼␌/␊┼├⎼␋␊⎽/┴2"
£,
"└␊├⎺␍": "POST",
"␊▒␍␊⎼⎽": π
"▒┤├⎺⎼␋≥▒├␋⎺┼": "B␊▒⎼␊⎼ ␊≤J␉G␌␋O␋JSU≥I1N␋I⎽I└├⎻ZCI6I┘␌2YWI1NT┐LWM┬ZTM├NGVY␋05MT┌┘LTJ┐Y┘A3Y┘F┘N2NMHN⎻Z≤J9.␊≤J0␌┼V≥␍CI6MTA┬LCJ⎻YXQ␋O┘E1NDM2N≥␌┬ODA⎽I└V4␌CI6MTU0M≥Y4MDY4MC┬␋▒XN≥I┘⎺␋␉2F1␍G±≤YWN┘I␋┬␋▒┼R⎻I┘⎺␋ZGV␋MTZ┘M2Q├YT±│OS00OTE3LWFMD┐├NWVN≥R└M┘U┬MWM4I␋┬␋␉GF0I┘⎺│NTQ≥N┘␌3MD±┬LCJ␍WQ␋O␋J┘␉20┤␉└┌⎼ZS5┐▒W␍⎻␍GF⎽I␋┬␋␌3V␋I┘⎺␋Y29├L└5⎻▒2U┤Y29├␉WV≤Y2U┤␌25⎼␌┼M┤␍2V␋I␋┬␋␌2J0I┘⎺␋␉└┌⎼ZT⎻␌HA␋LCJ≥Y3A␋O┌⎽␋Y29├␉WV≤Y2U␋XS┬␋␌HJ┤I┘⎺␋M└I≥M≥J┐Y└U├MWE1Y≤00ZWJ┐LT┐0Z└Y├MGU┬N≥V┘OGV┘NGQ│I␋┬␋␌HJ0I┘⎺␋␉└┌⎼ZT⎻┬␉HV≥I┼0.I┴▒┘└U2W≤␉__┬AD└J±⎻Z≥␉␋-VVUV┘H⎽⎼EI├┼T┌␍1I9°┬OSL▒┬┤8≥0Z3┐C␍␊G⎽␊O≤│≥␌␉3RB┌GKXV┤SDRDH±IYZ␉H1X⎼5␉Q-┼R≥└┬I│␉M0─I⎺R┤␋␍▒I␋├NC␍⎺G±6⎺XQ␋°R┴W5␍⎺SZ┼⎻4YR2TN6U␍9Q≥⎻61NS⎺⎻F␌2V13NJ└0P7│K5-09⎻▒1│6P␍M≤┼⎽IWF─II⎼G≤K┘HO⎻BV└┌┤␋A≥°┼AF┤K1GC┌ZGD⎺TC␋8⎻JY_⎺HI-E8D±M┐O4KSN⎻H97KLHO-┴Z│2┬YLJ2°␉0⎼F┐D≤≤└A␍K⎼9┴┬┤9┼│XF␍⎼≥⎽┘22≤39KD⎻-⎽⎻R┐I⎺MD2▒└␋┼L1CA│8─-␉L│DY└┬GQ02C├I0─┘±",
"A␌␌␊⎻├": "▒⎻⎻┌␋␌▒├␋⎺┼/┘⎽⎺┼, ├␊│├/⎻┌▒␋┼, */*",
"C⎺┼├␊┼├-T≤⎻␊": "▒⎻⎻┌␋␌▒├␋⎺┼/┘⎽⎺┼;␌▒⎼⎽␊├=┤├°-8",
"␌⎺┼├␊┼├-┌␊┼±├": 575
£
£
£
[┼⎺␍␊└⎺┼] ⎼␊⎽├▒⎼├␋┼± ␍┤␊ ├⎺ ␌▒┼±␊⎽...
[┼⎺␍␊└⎺┼] ⎽├▒⎼├␋┼± ◆┼⎺␍␊ ▒⎻⎻.┘⎽◆
E│⎻⎼␊⎽⎽ ⎽├▒⎼├␊␍ ⎺┼ ⎻⎺⎼├ 3000