获取 https 响应的正文
Getting the body of an https response
我是nodejs的新手,我在尝试获取响应的正文时遇到了一个奇怪的问题。 好吧,为了打印出正文,我们可能会做这样的事情,对吧?
:var https = require('https');
var request = https.get('https://teamtreehouse.com/arshankhanifar.json',function(response){
//print the data
response.setEncoding('utf8');
response.on('data', function (chunk){
console.log('BODY : ' + chunk); // Prints the body, no problem.
});
response.on('end', function() {
console.log('No more data in response.');
});
});
使用上面的代码,我可以打印出 body,它应该是包含 JSON 文件的字符串,但问题是当我尝试将其保存在一个名为 body 的变量中时,当我打印它时,什么都没有显示!
var https = require('https');
var request = https.get('https://teamtreehouse.com/arshankhanifar.json',function(response){
//save the data in a variable
var body = '';
response.setEncoding('utf8');
response.on('data', function (chunk){
body += chunk;
});
console.log(body); // prints nothing!
response.on('end', function() {
console.log('No more data in response.');
});
});
我希望我的问题足够清楚。如果模棱两可,请要求澄清。
您正在data
触发之前打印正文变量。
尝试如下。
var https = require('https');
var request = https.get('https://teamtreehouse.com/arshankhanifar.json',function(response){
//save the data in a variable
var body = '';
response.setEncoding('utf8');
response.on('data', function (chunk){
body += chunk;
});
response.on('end', function() {
console.log(body); // prints nothing!
console.log('No more data in response.');
});
});
指:
https://nodejs.org/api/https.html#https_https_get_options_callback
相关文章:
- 如何将getJson的响应保存在全局变量中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何将响应正文显示为html
- NodeJS-“;这种类型的响应不能有正文&”;
- 从保管箱响应正文中提取网址
- 节点.js请求对象 - 返回响应正文以供进一步操作
- 如何在 NodeJS 中传递响应参数,包括来自 POST http.request 的正文
- Spring ResponseEntity & AJAX error function:无法访问响应正文内容
- 如何在 node.js 中将 HTTP 响应正文编码为 UTF-8
- 如何读取空响应正文的 ajax post 调用的响应标头
- 获取 https 响应的正文
- Chrome扩展-如何获取HTTP响应正文
- 使用SlimerJS获取AJAX请求的响应正文
- node.js request.get以html正文响应,忽略404状态
- 在node.js中输出之前更改响应正文
- 如何处理未定义正文的响应
- JSON响应,包含http、头、元和正文
- 获取AJAX响应的正文标记
- 请求响应后正文中出现奇怪字符
- 在 Express.js 中解析 JSON 响应正文