Tag: http

如何从node.js中的HTTP请求函数返回值?

getStockValue()函数是通过以下方式从另一个JavaScript文件中调用的: var r=require("./stockfile"); var returedData = r.getStockValue()); 这里返回的数据只包含“-START-”。 我的目标是在接收到响应之后获取从函数返回的body对象。 我试图把一个返回语句放到' close '事件处理程序中,但是它不起作用。 我该怎么做? function getStockValue() { var http = require('http'); var options = { host: 'in.reuters.com', path: '/finance/stocks/overview?symbol=RIBA.BO', method: 'GET' }; var body = "–START–"; var req = http.request(options, function (res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); res.on('data', function (chunk) { body […]

在Nodejs应用程序中,如何在Express方法中创buildHTTP客户端请求

当浏览器或curl客户端调用我的节点快递应用程序,我想从外部网站获取JSON数据并返回它,但是,尽pipe看到嵌套的http调用返回JSON数据回到我的快递服务器我争取得到JSON返回到调用浏览器 – 我该怎么做? 这里是目前的testing应用程序代码与curl响应: var http = require('http'); var app = require('express')(); app.get('/', function (req, res) { var str = ''; var options = { host: 'jsonplaceholder.typicode.com', path: '/posts/1' }; callback = function(response) { response.on('data', function (chunk) { str += chunk; }); response.on('end', function () { console.log(str); }); } var req = http.request(options, callback); res.send(str); […]

node.js http.js:TypeError:对象200没有方法“toLowerCase”

我现在正在学习node.js。 每当我运行节点example.js它说 http.js:529 var key = name.toLowerCase(); ^ TypeError:对象200没有方法“toLowerCase” 这是FF和铬这个已知的问题。

使用Node.js创build网站

你好,我想知道从哪里开始使网站宽度node.js。 我做了你好世界教程,并有一个工作的http服务器。 但我的问题是,如果可以运行JavaScript服务器端让我们说一个onclick事件? 如何把CSS放在网页上。 谢谢 Mkaveli

Node.js阻塞?

我想我只是发现了node.js或浏览器中的一些奇怪的东西。 所以node.js应该是非阻塞的,但是一个简单的setTimeout会阻塞同一个客户端的整个网站。 这是服务器代码: // Create HTTP Server var http = require('http'); // Create page number holder var page = 0; http.createServer(function (req, res) { // Increment Page Number page++; // Log page load console.log('LOAD PAGE', page); // Set response header res.writeHead(200, {'Content-Type': 'text/plain'}); // Wait 10 seconds and write Hello World message to client. setTimeout(function(){ […]

如何获得Node.js可写入stream的大小(HTTP服务器响应)

我想用普通(Access)日志格式编写一个打印HTTP访问日志的中间件。 这种格式的最后一列是响应主体的大小(以字节为单位)。 如何确定由Node.js服务器产生的HTTP响应的大小? 不起作用的示例: app.use(function(req, res, next) { var bytes = 0; res.on('data', function(chunk) { bytes += chunk.length; }); res.on('finish', function() { // `bytes` is the response size console.log(/* common log entry */); }); }); 我已经做了一些研究,例如Hapi的共同日志总是发出-作为大小。 这是否意味着无法获得大小?

Node.jspipe道http请求&承诺

我使用一个Node.js 请求模块来发出一个http请求,并且想把响应传递给一些stream。 这里有两个代码段: 一个正常工作的例子 。 我只是响应response事件。 const fs = require('fs') const path = require('path') const request = require('request') const filepath = path.resolve('./tmp.zip') const ws = fs.createWriteStream(filepath) function get() { return new Promise((resolve, reject) => { request.get(uri, options) .on('response', (res) => { ws.on('finish', () => console.log('finish')) res.pipe(ws) resolve() }) .on('error', (err) => { reject(err) }) }) […]

无限redirect服务器端http请求

我使用node.js,但我有一种感觉,这不一定与节点有关 – 无论如何 我正在编写一个url缩短在节点,我想击中缩短的url,以获得页面标题 – 这在大多数情况下,通常遵循redirect,等等适当,等等。 但是,当我点击gmail.com,它进入一个无限的redirect循环 – http://gmail.comredirect到https://www.google.com/accounds/ServiceLogin?service=mail&passive=true&rm=false&continue= …而这又转向自己永远。 我的代码基本上是这样的 var http = require('http'), https = require('https'), URL = require('url'), querystring = require('url'); var http_client = {}; function _makeRequest(url, callback) { var urlInfo = URL.parse(url); var reqUrl = urlInfo.pathname || '/'; reqUrl += urlInfo.search || ''; reqUrl += urlInfo.hash || ''; var opts = […]

如何在NodeJs中止或停止http请求

尽pipeNodeJs体系结构非常好地以非阻塞的方式处理服务器请求,但有时也需要停止/中止正在服务器端处理的请求。 我怎么能让我的NodeJs服务器放弃一个请求,即使它没有阻止服务器?

Node.js HTTPParser不调用一些callback

我正在使用Node.js v0.8.15中的HTTPParser。 不幸的是,一些callback从来没有被调用。 例如,下面的代码只调用onHeadersComplete 。 无法设法调用onURL , onHeaderField和onHeaderValue 。 var HTTPParser = process.binding('http_parser').HTTPParser, parser = new HTTPParser(HTTPParser.REQUEST), request = new Buffer( 'GET /test HTTP/1.1\r\n' + 'Host: www.example.com\r\n' + 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/17.0 Firefox/17.0\r\n' + 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n' + 'Accept-Language: en-US,en;q=0.5\r\n' + 'Accept-Encoding: gzip, deflate\r\n' + '\r\n' ); parser.onURL = function() […]