我在尝试运行node js应用程序时遇到此错误:
_http_客户端。js:127抛出新的TypeError('请求路径包含未替换的字符')^
TypeError:请求路径包含未转义字符在新的客户端请求(_http_client.js:127: 13)在Object.request(http.js:38: 10)在Object.exports.get持续时间(/用户/paulcarron/git/集成-测试运行/模块/getEventLog.js:53: 20) /Users/paulcarron/git/integration-test-runner/modules/jobRunningService.js:75: 21在IncomingMessage。(/用户/paulcarron/git/集成-测试运行/模块/getEventLog.js:35: 13)在emitNo(events.js:111: 20)在IncomingMessage.emit(events.js:208: 7)在endReadableNT(_stream_readable.js:1056: 12)在_combinedTickCallback(内部/进程/next_tick.js:138: 11)在进程。_tickCallback(内部/进程/next_tick.js:180: 9)
经过一些调查,我得出结论,这是因为getEventLog.js中的myId
(参见问题底部的代码)。这个函数在不同的脚本中调用整个脚本:
child.stderr.on('data', function(uuid, data) {
getEventLog.getId(uuid, function(err, id){
if(err) return console.log(err)
getEventLog.getDuration(id, function(err, duration){
if(err) return console.log(err)
jobLogger.info(escape(data) + "<br />");
})
});
});
我认为myId中可能有空格,所以我添加了一个控制台。记录(“myId:myId)
并发现它返回了myId:[对象]
。如何修复此问题,使myId
是正确格式的ID?
var http = require("http");
var fs = require('fs');
var async = require('async');
var readline = require('readline')
//var db = require('./dbPool');
//get file name
var options = {
"method" : "GET",
"hostname" : "127.0.0.1",
"port" : "18080",
"path" : "/api/v1/applications/"
};
exports.getId = function (uuid, callback) {
var req = http.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = JSON.parse(Buffer.concat(chunks));
var arrFound = Object.keys(body).filter(function(key) {
if (body[key].name.indexOf(uuid) > -1) {
return body[key].name;
}
}).reduce(function(obj, key){
obj = body[key].id;
return obj;
}, {});
callback(null, arrFound);
});
});
req.end();
}
exports.getDuration = function (myId, callback) {
//getEventLog.getId(function(err, id){
//get file name
var options = {
"method" : "GET",
"hostname" : "127.0.0.1",
"port" : "18080",
"path" : "/api/v1/applications/" + myId
};
var req = http.request(options, function (res) {
console.log(options)
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
var body = JSON.parse(Buffer.concat(chunks));
var attempts = body.attempts
var arrFound = Object.keys(body).filter(function(key) {
return attempts[0].duration;
}).reduce(function(obj, key){
obj = body.attempts[0].duration;
return obj;
}, {});
//console.log(arrFound);
callback(null, arrFound);
});
});
req.end();
// })
};
这里的问题是myId是一个JSON对象,而不是一个字符串。这意味着返回的html页面比我所需的JSON位置还多。
问题内容: 我尝试使用以下方法安装node.js模块: 但我得到这个错误: 可能正在发生这种情况,因为我使用代理服务器,但我通过这种方式设置了代理服务器,以允许从网络外部的ips下载 我希望你能帮帮我 问题答案: 从命令行设置代理。 如果仍然发生错误,请再试一次。 这些为我工作。(请参阅http://sushichop.blogspot.jp/2013/01/npm- install.html )
问题内容: 我正在构建一个模拟器,以将JSON数据发布到正在运行的服务中。 JSON应该如下所示: 我在Chrome中使用“高级REST客户端”进行了尝试,效果很好。ServiceStack Web服务会正确解析日期获取。 因此,关键是编写一个传感器模拟器,将这样的数据发布到Web服务。 我用Java创建了它,因此可以在树莓派上运行它。 这是代码: 该程序的输出如下: 这里的问题是JSONObje
我使用Localstack和Test容器((test容器: localstack: 1.15.2))进行集成测试,并在测试设置中设置秘密,如下所示:代码示例 现在,测试因错误而崩溃: com.amazonaws.services.secretsmanager.model.AWSSecretsManagerException:请求中包含的安全令牌无效。(服务:AWSSecuresManager;状态
问题内容: 我正在尝试以编程方式找到Linux上的路径,据我所知,实际上这意味着找到GCC认为的路径。(这是真的吗?Clang是如何做到的?) 根据http://gcc.gnu.org/onlinedocs/cpp/Search- Path.html的 介绍,某些组件涉及CPU架构和GCC版本;后者尤其棘手;我想可以通过运行和解析输出(或)获得它,但这似乎充其量是不佳的,最坏的是它是脆弱的。假设某
本文向大家介绍java下载url路径包含中文需要转义的操作,包括了java下载url路径包含中文需要转义的操作的使用技巧和注意事项,需要的朋友参考一下 大家看这个url: http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx 应为url路径中有中文没有转义,输入流报错 The valid characters are defined in RFC 7230 a
问题内容: 我正在处理DomDocument,这基本上是SOAP Web服务的XML结果。给你一个主意,这就是它的样子 是的,ChildNode的值是一个已转义输出的字符串,并且是打包在此XML中的XML。我通常执行DomDocument处理,例如 在检查了上面的代码之后,您意识到即使节点为ParentNode和NodeName节点返回了正确的值,但在访问getNodeValue()时它仍返回了空