首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从Node.js http get请求中获取数据

如何从Node.js http get请求中获取数据
EN

Stack Overflow用户
提问于 2013-10-23 18:39:00
回答 6查看 230.2K关注 0票数 94

我试图让我的函数返回http get请求,然而,无论我做什么,它似乎都迷失在?作用域?中。我不熟悉Node.js,所以如果有任何帮助,我将不胜感激

代码语言:javascript
复制
function getData(){
  var http = require('http');
  var str = '';

  var options = {
        host: 'www.random.org',
        path: '/integers/?num=1&min=1&max=10&col=1&base=10&format=plain&rnd=new'
  };

  callback = function(response) {

        response.on('data', function (chunk) {
              str += chunk;
        });

        response.on('end', function () {
              console.log(str);
        });

        //return str;
  }

  var req = http.request(options, callback).end();

  // These just return undefined and empty
  console.log(req.data);
  console.log(str);
}
EN

回答 6

Stack Overflow用户

发布于 2019-06-12 23:52:35

使用node的Http请求的简单工作示例。

代码语言:javascript
复制
const http = require('https')

httprequest().then((data) => {
        const response = {
            statusCode: 200,
            body: JSON.stringify(data),
        };
    return response;
});
function httprequest() {
     return new Promise((resolve, reject) => {
        const options = {
            host: 'jsonplaceholder.typicode.com',
            path: '/todos',
            port: 443,
            method: 'GET'
        };
        const req = http.request(options, (res) => {
          if (res.statusCode < 200 || res.statusCode >= 300) {
                return reject(new Error('statusCode=' + res.statusCode));
            }
            var body = [];
            res.on('data', function(chunk) {
                body.push(chunk);
            });
            res.on('end', function() {
                try {
                    body = JSON.parse(Buffer.concat(body).toString());
                } catch(e) {
                    reject(e);
                }
                resolve(body);
            });
        });
        req.on('error', (e) => {
          reject(e.message);
        });
        // send the request
       req.end();
    });
}
票数 23
EN

Stack Overflow用户

发布于 2016-10-15 15:00:09

使用http.get的简短示例:

代码语言:javascript
复制
require('http').get('http://httpbin.org/ip', (res) => {
    res.setEncoding('utf8');
    res.on('data', function (body) {
        console.log(body);
    });
});
票数 18
EN

Stack Overflow用户

发布于 2015-12-17 04:41:52

从learnyounode:

代码语言:javascript
复制
var http = require('http')  

http.get(options, function (response) {  
  response.setEncoding('utf8')  
  response.on('data', console.log)  
  response.on('error', console.error)  
})

‘'options’是主机/路径变量

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19539391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档