【发布时间】:2018-12-07 03:11:06
【问题描述】:
如果我使用 Chrome 插件向特定服务器发出 POST 请求,我可以看到“响应正文”以 JSOn 格式正常返回。
但是,当我尝试使用“request”或“https.request”执行此操作时,“body”以我似乎无法破译的 unicode 形式返回。任何人都知道我怎样才能让身体像普通 JSON 一样回来,或者我怎样才能破译这个 unicode?我尝试了一些 stackoverflow 解决方案来破译 unicode,但没有运气。
原始身体:
��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 请求的两个代码 sn-ps:
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
【问题讨论】:
-
能贴出代码吗?
-
@JanithKasun 我编辑它以发布代码
-
您是否有可能使用其他库,例如request
-
我正在使用请求,如我正在使用的第一个代码 sn-p 中所见@JanithKasun
-
什么是
entriesPayload?如果它是一个文件 - 请发布读取它的代码。