我有一个问题,缺少必要的属性杯-获取-设备。基本上,我希望使用https://www.npmjs.org/package/ipp获取带有IPP和CUPS的可用打印机列表。
我在包中实现了CUPS- get -设备,因为它不支持包的属性,但我让它正常工作。问题是响应使用“状态-消息”:“缺少所需的属性”。而不是给我打印机的清单。
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."
}
}文档中没有提到其他必需的参数PRINTERS
有人知道问题出在哪里吗?谢谢!
发布于 2014-07-05 10:51:48
这段代码适用于我,使用未经修改的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));
});https://stackoverflow.com/questions/24431903
复制相似问题