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:
Shows program help.
- --ippserver filename
Specifies that the test results should be written to the named ippserver attributes file.
Tells ipptool to stop if an error occurs in an included file. Normally ipptool will continue with subsequent tests after the INCLUDE directive.
Shows the version of ipptool being used.
Specifies that ipptool must connect to the printer or server using IPv4.
Specifies that ipptool must connect to the printer or server using IPv6.
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.
Forces TLS encryption when connecting to the server using the HTTP "Upgrade" header.
Specifies that ipptool will continue past errors.
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.
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.
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.
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.
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.
Specifies that ipptool will produce JSON output.
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.
Be quiet and produce no output.
Specifies that CUPS test report output is desired instead of the plain text output.
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 "firstname.lastname@example.org" when "myprinter" changes:
ipptool -d recipient=mailto:email@example.com \ ipp://localhost/printers/myprinter create-printer-subscription.test
Copyright © 2021-2022 by OpenPrinting.
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),