gpt4 book ai didi

node.js - 使用 node.js ipp 模块的 CUPS-Get-Devices 上的 IPP 缺少属性

转载 作者:搜寻专家 更新时间:2023-10-31 22:50:27 27 4
gpt4 key购买 nike

我遇到了 CUPS-Get-Devices 缺少必需属性的问题。基本上,我想使用 https://www.npmjs.org/package/ipp 获取带有 IPP 和 CUPS 的可用打印机列表。 .

我已经在包中实现了 CUPS-Get-Devices,因为它不支持包的属性,但我让它工作了。问题是响应以“状态消息”响应:“缺少必需的属性。”并且没有给我打印机列表。

var uri = "http://localhost:631"
var data = ipp.serialize({
"operation": "CUPS-Get-Printers",
"operation-attributes-tag": {
"attributes-charset": 'utf-8',
"attributes-natural-language": 'en-us',
"limit": 10
}
});

ipp.request(uri, data, function(err, res){
if(err){
return console.log(err);
}
console.log(JSON.stringify(res,null,2));
});

响应是

{
"version": "2.0",
"statusCode": "client-error-bad-request",
"id": 67392993,
"operation-attributes-tag": {
"attributes-charset": "utf-8",
"attributes-natural-language": "en-us",
"status-message": "Missing required attributes."
}
}

文档没有说明其他必需参数http://www.cups.org/documentation.php/spec-ipp.html#CUPS_GET_PRINTERS

有人知道问题出在哪里吗?谢谢!

最佳答案

此代码适用于我,使用未修改的 ipp 库和 CUPS 1.7.3。我最好的猜测是您在修改库时输入了错误或其他内容。

var ipp = require('ipp');

// Add missing operation code
ipp.operations['CUPS-Get-Printers'] = 0x4002;

// The rest is identical to your code:

var uri = "http://localhost:631";
var data = ipp.serialize({
"operation": "CUPS-Get-Printers",
"operation-attributes-tag": {
"attributes-charset": 'utf-8',
"attributes-natural-language": 'en-us',
"limit": 10
}
});

ipp.request(uri, data, function(err, res){
if(err){
return console.log(err);
}
console.log(JSON.stringify(res,null,2));
});

关于node.js - 使用 node.js ipp 模块的 CUPS-Get-Devices 上的 IPP 缺少属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24431903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com