簡體   English   中英

Json http.get Node.js提供了錯誤的數據

[英]Json http.get nodejs gives wrong data

美好的一天,我正在嘗試使用http.get獲取json文件

 http.get("http://steamcommunity.com/profiles/76561197993482001"+ "/inventory/json/730/2",function(res){ var chunk2=''; res.on('data',function(chunk){ chunk2+=chunk; }); res.on('end',function(){ console.log(chunk2); }); }); 

但是在我的控制台中,只有以下5個奇怪的字符: (以及其中一些帶有數字的正方形)

到底是怎么回事? 謝謝

編輯我嘗試添加res.setEncoding('utf8'); 但它不起作用

有問題的URL返回302(重定向)狀態代碼,因此您應檢查res.statusCode並使用響應中提供的Location標頭(指向實際位置)重新發出請求。 或者,您可以使用request模塊,該模塊將為您處理重定向。

至於您得到的數據:服務器確實返回了302響應的內容主體,並且該內容由一個26字節的gzip壓縮文檔組成,該文檔似乎不包含任何內容:

$ curl --silent --no-location 'http://steamcommunity.com/profiles/76561197993482001/inventory/json/730/2' | gunzip | wc -c
       0

由於Node將響應解釋為UTF-8(不是),因此您會得到那些奇怪的字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM