ipptool(1)
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.