cba*_*ass 3 javascript json http node.js stackexchange-api
我正在尝试从 stackexchange api 获取一些 json 数据。接收 OAuth 代码和访问令牌工作正常。但是当调用实际的数据获取端点时,响应看起来确实很奇怪。可能是编码或类似的。
\n\n该请求如下所示:
\n\nvar client = requestjson.newClient(\'https://api.stackexchange.com\');\n client.get("/2.2/me/comments?order=desc&sort=creation&site=stackoverflow&access_token="+myToken+"&key="+key, function(err, res, body) {\n console.log(body);\n })\nRun Code Online (Sandbox Code Playgroud)\n\n然后响应正文如下所示:
\n\ni\xef\xbf\xbd)\xef\xbf\xbd)QEJ\xef\xbf\xbda\xef\xbf\xbd\xef\xbf\xbdMl\xef\xbf\xbdd4\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd20\xef\xbf\xbdc\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd]\xef\xbf\xbdv5/AZ\xef\xbf\xbdm\xef\xbf\xbd\xef\xbf\xbdz \xef\xbf\xbdC\xef\xbf\xbd\xef\xbf\xbd`\xef\xbf\xbd~\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd*\xcd\xb3`Fh\'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd<M\xef\xbf\xbd\xef\xbf\xbdk\xef\xbf\xbd\xef\xbf\xbdJ\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJ\xef\xbf\xbd\xef\xbf\xbd> &\xef\xbf\xbd\xef\xbf\xbd\xc8\x97\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdm\xef\xbf\xbd\xef\xbf\xbdo>U\xef\xbf\xbdn\xef\xbf\xbd\xe9\xb4\xac\xef\xbf\xbdx=M\xef\xbf\xbd\xef\xbf\xbd}1\xef\xbf\xbd\xef\xbf\xbdm\xef\xbf\xbd\xef\xbf\xbd\'\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcf\xbb\xef\xbf\xbd\xef\xbf\xbd#\n\xef\xbf\xbd\xef\xbf\xbdzDn\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdn=\xcf\xb3h[\xef\xbf\xbd\xef\xbf\xbdQY\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbduv\xef\xbf\xbd*\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd&?;\xef\xbf\xbd\xef\xbf\xbdS\xef\xbf\xbd\xef\xbf\xbd\xd1\x85\xef\xbf\xbdV\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\'{mJ? \xef\xbf\xbd8/\xef\xbf\xbdW\xef\xbf\xbdq\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcd\x93\xef\xbf\xbd\xef\xbf\xbd+\xef\xbf\xbd\xef\xbf\xbdqK\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX\xef\xbf\xbd9X~\xef\xbf\xbd\xef\xbf\xbdg\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xce\x81YrVY\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdB\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdX1#\xef\xbf\xbd`E\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试过JSON.parse,但它在控制台中抛出错误。
我自己在这里找到了答案:node.js - easy http requests with gzip/deflate compression
添加了以下内容:
var reqData = {
url: "https://api.stackexchange.com/2.2/me/comments?order=desc&sort=creation&site=stackoverflow&access_token="+myToken+"&key="+key,
method:"get",
headers: {'Accept-Encoding': 'gzip'}
}
var gunzip = zlib.createGunzip();
var json = "";
gunzip.on('data', function(data){
json += data.toString();
});
gunzip.on('end', function(){
console.log(JSON.parse(json));
});
request(reqData)
.pipe(gunzip)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1531 次 |
| 最近记录: |