Articles of http

节点http服务器4 x更快保持活动禁用?

保持活力应该加快网站。 但是,当我在铬(本地主机:8080)运行这个死了简单的服务器,我得到这些加载时间: 大约100毫秒与“连接:closures”标题(即与setHeader行未注释) 大约400毫秒,启用标准保持活动状态 。 我究竟做错了什么 ? 任何人都可以重现我的结果吗? 在过去的两天里,我一直在b my我的脑袋。 var fs = require('fs') // preparing 50 2k files … var a = [], txt = '/*\n' + 'x'.repeat(2000) + '\n*/' for (var i = 0; i < 50; i++) { var name = '/test' + i + '.js' fs.writeFile(__dirname + name, txt) a.push('<script src="' […]

删除&符号node.js POST请求

我在configuration中使用app.use(express.cookieParser())在我的packager.json文件中有一个快速版本"express": ">= 3.4.7" 。 我正在从REST客户端内容types发送一个POST请求给我的API作为"application/json" 。 我曾经通过调用req.body来获取发布参数。 一切为我工作到现在,但注意发送像下面的东西 { "password":"tom&catin", } 在节点js中 console.log('password', req.body.password); // tom&amp;catin 我想知道为什么“&”打印为“&”。 我想获得'&'作为'&'进行服务器端密码validation。 让我知道什么是做错了? 我需要实现'urlencode'吗? 我尝试过,但结果相同。 app.use(express.bodyParser());

node.js – 尝试使用Parse Server查询时,Heroku服务器超时?

我正在尝试为Parse服务器设置自己的自定义密码重置,因为当时没有该function。 我已经按照堆栈溢出本教程 – > 如何使用Heroku设置一个分析服务器 我也读过Github上的这个问题 – > 实现密码重置的提示? 以下是我在Github上发表的一篇指南: 用于处理密码重置提交的快速路由或云端function,用于查询与用户名/电子邮件匹配的用户。 生成一次性随机代码并将其保存在用户的某个位置…使用某个邮件提供商,通过链接向用户发送电子邮件。 一个处理链接的快速路由,它将提供的随机代码和search用户进行validation,然后向用户显示提供新密码的能力…使用主密钥覆盖密码并保存用户。 我设法完成了第一段,通过链接向用户发送电子邮件。 现在我正在尝试设置一个处理链接的快速路由,并为用户查询,但是我的分析查询似乎没有工作,而且heroku保持超时。 这是我的index.js (parsing服务器附带的默认类)中的代码,用于设置一个从链接中获取用户name的快速路由,并执行一个查询来获取用户,然后发送username 。 *注意我知道得到一个用户的name ,然后查询是不可扩展的,它只是仅用于testing目的。 //Testing web routes app.get('/route', function(req, res) { var query = new Parse.Query("_User"); query.equalTo("name", req.param("id")); query.get({ success: function(user) { res.status(200).send(user.get("username")); }, error: function(error) { res.status(200).send("error"); } }); }); 这是我点击的链接: 然后发生什么,我不明白的是页面不断加载,然后约30秒后Heroku超时,并在网页上显示此错误: 然后当我检查我的日志在heroku上: 我注意到这个错误: at=error code=H12 desc="Request timeout" […]

urlpath包含未转义的字符

我得到以下错误。我知道我需要逃脱几个字符,但有没有更好的方法来做到这一点? 我的pathvariables有一些错误 getNearByUsers(latlong) { return http.get({ host: 'search-vegme-user-7l3rylms73566frh4hwxblekn4.us-east-1.cloudsearch.amazonaws.com', path: '/2013-01-01/search?q=nikhil&expr.distance=haversin(35.621966,-120.686706,latlong.latitude,latlong.longitude)&sort=distance asc&return=distance,displayname,profileimageurl' }, function(response) { // Continuously update stream with data var body = ''; response.on('data', function(d) { body += d; }); response.on('end', function() { // Data reception is done, do whatever with it! var parsed = JSON.parse(body); console.log(parsed); }); }); } "errors": [ { "message": […]

Angular 2的http请求在新系统上处于挂起/取消状态

我发送http请求如下 this.http.post('/api/login', body) .subscribe( response => { … }, error=> { … }); 但是在新的系统中,它有待等待,然后有时取消。 加载一次后,再也没有发生在该系统上,并正常工作。 基本上我将所有客户端路由redirect到index.html。 如下: app.get(['/', '/login', '/dashboard'],function(req, res, next){ res.sendFile(path.join(__dirname,'/../public/index.html')); }); '/', '/login', '/dashboard'是我客户端的路由。 如下: @RouteConfig([ { path: '/', redirectTo: ['/Dashboard'] }, { path: '/login', component: Login, as: 'Login' }, { path: '/dashboard', component: Dashboard, as: 'Dashboard' } ])

XMLHttpRequest无法加载预检的响应无效(redirect)

我正在为Android做一个离子应用程序,今天我在cloud9上用mongodb实现了一个服务器端nodejs(express)Restful API。 但是,当我触发一个HTTP请求的url,我不断收到错误中提到的标题: 这是我对离子的angular度http请求(只是为了先testing): app.controller('DashCtrl', function($scope, $http, $q) { $http.get('https://[workspace]-[user].c9users.io/api/capture') .then(function(result) { console.log(result); }); }); 这是我的工作区的图像: 我用下面的代码来创build数据库:api.js var Capture = require('../models/capture'); module.exports = function(router) { router.get('/capture', function(req, res){ var capture = new Capture(); // capture.birdname = req.body.birdname; // capture.place.city = req.place.body.city; // capture.place.country = req.place.body.country; capture.birdname = "Pigeon"; capture.save(function(err, data){ if(err) throw err; res.json(data); }); […]

Nodejs集群模式如何处理HTTP保持连接?

如果HTTP连接保持活动状态,那么同一个工作人员是否会处理所有请求? 我希望有一个HTTP服务器处理所有networkingstream量,但是将每个请求的数据处理转交给随机的工作进程,即使这些请求是通过相同的HTTP(TCP)连接进入的: if (cluster.isMaster) { http.createServer(function(req, res) { worker.send(req, function(res) { // worker will generate response into callback parameter res.end(); }); }).listen(80); } else { process.on('message', function(msg) { // generate an http reponse but DO NOT SEND IT OUT A SOCKET, // return it to Master var res = generate_http_response_object(); process.send(res); }); } 这会工作吗?

使Node.js使用http_proxy,https_proxy和no_proxy环境variables

我有一个节点服务器,并基于最近的一些基础设施更改,我需要确保所有出站请求正在通过Squid代理,除了NO_PROXY环境variables中列出的主机的stream量外。 设置HTTP_PROXY,HTTPS_PROXY和NO_PROXY似乎不影响节点服务器的行为,但我需要一种方法来做到这一点,而无需手动编辑库。 我有10个图书馆需要考虑到这种代理行为的外部服务。 有没有其他方法可以全局设置代理行为,包括尊重NO_PROXY?

nodejs restful api返回错误状态-1在离子angularjs $ http

我的离子angularjs代码,我正在做一个get请求看起来像这样: .factory('Tasks', function($http) { return { all: function() { $http({ method: 'GET', url: 'http://localhost:3000/hello' }).then(function successCallback(response) { // this callback will be called asynchronously // when the response is available alert(JSON.stringify(response)) }, function errorCallback(response) { // called asynchronously if an error occurs // or server returns response with an error status. alert(JSON.stringify(response)) }); $http({ method: […]

节点请求库错误:getaddrinfo ENOTFOUND dns.js 26

我以连续的方式(每天多次请求一次)抓取网站,并且每次都使用asynchronous和请求节点模块。 我使用async eachLimit并行运行函数getPage(这里没有显示代码)。 但是,一旦在几千个查询中,我收到以下错误: Error: getaddrinfo ENOTFOUND 247sports.com 247sports.com:80 at errnoException (dns.js:26:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:77:26) 即使我知道我通过它的url是有效的。 我发现有人使用http模块的解决scheme,并得到相同的错误,但似乎没有人使用请求模块得到这个。 我知道我的IP没有被阻止,因为我可以在错误之后立即访问网站。 我也知道我的用户代理不是问题,因为我旋转了用户代理列表,所有这些都是有效的。 我的猜测是问题在于请求库与节点http模块交互的地方。 不幸的是,我无法准确地重现问题,因为当我同时或连续推送大量请求时,它似乎只是被触发。 下面的函数代码是我的函数的样子: function getPage(){ var options = { url: "http://stackoverflow.com/", headers: { 'User-agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20110506 Firefox/4.0.1' }; request(options, function(err, resp, body) { if (err){ throw err; return; } PagesScraped++; […]