我想验证一个 IPP 端口,例如我有这样的 IPPhttp://xxx.xxx.xxx.xxx:631/ipp
和我想验证的类似方式。是否https://xxx.xxx.xxx.xxx/ipp
存在任何 API 来验证 IPP 和 IPP-SSL(如果存在),请告诉我。
如果没有本机 API,请告诉我任何其他方法。
我想验证一个 IPP 端口,例如我有这样的 IPPhttp://xxx.xxx.xxx.xxx:631/ipp
和我想验证的类似方式。是否https://xxx.xxx.xxx.xxx/ipp
存在任何 API 来验证 IPP 和 IPP-SSL(如果存在),请告诉我。
如果没有本机 API,请告诉我任何其他方法。
查看 Github 上的IPP 示例软件。它由标准化 IPP(互联网打印协议)的机构打印机工作组(PWG) 提供。
该软件目前仍处于测试阶段,已经非常实用。它提供了两个主要的命令行工具:
ippserver
. 启动它(使用适当的选项),您将在网络上拥有一个成熟的 IPP 服务器实例,用作虚拟 IPP 打印机(或托管多个虚拟 IPP 队列的 IPP 服务器),您可以使用它来测试任何(或您自己) -written) IPP 客户端软件反对。
ipptool
. 这是一个 IPP 客户端程序,它可以将 IPP 请求的任意组合发送到网络上的任何 IPP 实例(CUPS 服务器、ippserver
支持 IPP 的打印机硬件)并验证其响应。该软件附带了一些准备好的文本文件,其中包含示例 IPP 请求,所有.test
文件名都带有后缀。
出于您的目的,您可以运行以下命令:
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print get-printer-attributes.test
. 此命令将查询任何 IPP 打印机有关其支持的 IPP 属性的信息。这应该包括一个项目,说明其假定的IPP 版本支持,例如ipp-versions-supported (1setOf keyword) = 1.0,1.1,2.0
.
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-1.1.test
. 此命令将对打印机运行完整的验证套件,以测试其实际IPP-1.1 合规性。
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test
. 此命令将对打印机运行完整的验证套件,以测试其实际IPP-2.0 合规性。
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test
. 此命令将对打印机运行完整的验证套件,以测试其实际IPP-2.0 合规性。
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.1.test
. 此命令将对打印机运行完整的验证套件,以测试其实际IPP-2.2 合规性。
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.2.test
. 此命令将对打印机运行完整的验证套件,以测试其实际IPP-2.2 合规性。
ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-everywhere.test
. 此命令将对打印机运行完整的IPP Everywhere(这是最新的 IPP 标准)验证套件,以测试其真实世界的IPP Everywhere 合规性。
为了方便你们进行此类测试,我从 IPP 示例软件创建了一个现成的可执行 AppImage,它应该能够在所有 x86_64 Linux 发行版上直接运行(无需“安装”!):
下载:
wget https://github.com/KurtPfeifle/ippsample/releases/download/continuous/ippsample-x86_64.AppImage
使 AppImage 可执行(并可选择将其重命名为ippsample
):
chmod a+x ippsample-x86_64.AppImage
mv ippsample-x86_64.AppImage ippsample
看看它的内置帮助屏幕:
ippsample --ai-usage
运行:
ippsample ipptool -t -v ipp://xxx.xxx.xxx.xxx/ipp/print ipp-2.0.test
下面是一个 ASCIInema ascii-cast,用于说明如何使用 IPP 示例软件(及其 AppImage):