ipptool - perform internet printing protocol requests
ipptool [ --help ] [ --ippserver filename ] [ --stop-after-include-error ] [ --version ] [ -4 ] [ -6 ] [ -C ] [ -E ] [ -I ] [ -L ] [ -P filename.plist ] [ -S ] [ -T seconds ] [ -V version ] [ -X ] [ -c ] [ -d name=value ] [ -f filename ] [ -h ] [ -i seconds ] [ -j ] [ -n repeat-count ] [ -q ] [ -t ] [ -v ] printer-uri testfile [ ... testfile ]
ipptool sends IPP requests to the specified printer-uri and tests and/or displays the results. Each named testfile defines one or more requests, including the expected response status, attributes, and values. Output is either a plain text, formatted text, CSV, or XML report on the standard output, with a non-zero exit status indicating that one or more tests have failed. The testfile format is described in ipptoolfile(5).
The following options are recognized by ipptool:
--help
Shows program help.
--ippserver filename
Specifies that the test results should be written to the named
ippserver
attributes file.
--stop-after-include-error
Tells
ipptool
to stop if an error occurs in an included file. Normally
ipptool
will continue with subsequent tests after the INCLUDE directive.
--version
Shows the version of
ipptool
being used.
-4
Specifies that
ipptool
must connect to the printer or server using IPv4.
-6
Specifies that
ipptool
must connect to the printer or server using IPv6.
-C
Specifies that requests should be sent using the HTTP/1.1 "Transfer-Encoding: chunked" header, which is required for conformance by all versions of IPP.
The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
-E
Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
-I
Specifies that
ipptool
will continue past errors.
-L
Specifies that requests should be sent using the HTTP/1.0 "Content-Length:" header, which is required for conformance by all versions of IPP.
The default is to use "Transfer-Encoding: chunked" for requests with attached files and "Content-Length:" for requests without attached files.
-P filename.plist
Specifies that the test results should be written to the named XML (Apple plist) file in addition to the regular test report (-t).
This option is incompatible with the -i (interval) and -n (repeat-count) options.
-S
Forces (dedicated) TLS encryption when connecting to the server.
-T seconds
Specifies a timeout for IPP requests in seconds.
-V version
Specifies the default IPP version to use: 1.0, 1.1, 2.0, 2.1, or 2.2. If not specified, version 1.1 is used.
-X
Specifies that XML (Apple plist) output is desired instead of the plain text report.
This option is incompatible with the -i (interval) and -n (repeat-count) options.
-c
Specifies that CSV (comma-separated values) output is desired instead of the plain text output.
-d name=value
Defines the named variable.
-f filename
Defines the default request filename for tests.
-h
Validate HTTP response headers.
-i seconds
Specifies that the (last)
testfile
should be repeated at the specified interval.
This option is incompatible with the -X (XML plist output) option.
-j
Specifies that
ipptool
will produce JSON output.
-l
Specifies that plain text output is desired.
-n repeat-count
Specifies that the (last)
testfile
should be repeated the specified number of times.
This option is incompatible with the -X (XML plist output) option.
-q
Be quiet and produce no output.
-t
Specifies that CUPS test report output is desired instead of the plain text output.
-v
Specifies that all request and response attributes should be output in CUPS test mode (-t).
This is the default for XML output.
The ipptool program returns 0 if all tests were successful and 1 otherwise.
The following standard files are available:
color.jpg create-printer-subscription.test document-a4.pdf document-a4.ps document-letter.pdf document-letter.ps get-completed-jobs.test get-jobs.test get-notifications.test get-printer-attributes.test get-subscriptions.test gray.jpg ipp-1.1.test ipp-2.0.test ipp-2.1.test ipp-2.2.test ipp-everywhere.test onepage-a4.pdf onepage-a4.ps onepage-letter.pdf onepage-letter.ps print-job.test print-job-deflate.test print-job-gzip.test testfile.jpg testfile.pcl testfile.pdf testfile.ps testfile.txt validate-job.test
The ipptool program is unique to CUPS and conforms to the Internet Printing Protocol up to version 2.2.
Get a list of completed jobs for "myprinter":
ipptool ipp://localhost/printers/myprinter get-completed-jobs.test
Send email notifications to "user@example.com" when "myprinter" changes:
ipptool -d recipient=mailto:user@example.com \ ipp://localhost/printers/myprinter create-printer-subscription.test
ipptoolfile(5),
IANA IPP Registry (https://www.iana.org/assignments/ipp-registrations), PWG Internet Printing Protocol Workgroup (https://www.pwg.org/ipp), RFC 8011 (https://datatracker.ietf.org/doc/html/rfc8011)Copyright © 2021-2023 by OpenPrinting.