pathoc(1)

pathoc1

A perverse http client

Usage

pathoc [-h] [--show-uas] [--version] [-c HOST:PORT] [--memo-limit N]

host [:port] requests [requests ...]

Overview

pathoc is a perverse HTTP client designed to let you craft almost any conceivable HTTP request, including ones that creatively violate the standards. HTTP requests are specified using a small, terse language, which pathoc shares with its server-side twin, pathod.

Options

Positional Arguments:

host[:port]

Host and port to connect to.

requests

Request specification, or path to a file containing request specifcations.

Optional Arguments:

-h, --help

Show this help message and exit.

--show-uas

Print user agent shortcuts and exit.

--version

Show program's version number and exit.

-c HOST:PORT

Issue an HTTP CONNECT to connect to the specified host.

--memo-limit N

Stop if we do not find a valid request after N attempts.

-m

Remember specs, and never play the same one twice.

Note that this means requests have to be rendered in memory, which means that large generated data can cause issues.

-n N

Repeat N times. Pass -1 to repeat infinitely.

-w N

Wait N seconds between each request.

-r

Select a random request from those specified. If this is not specified, requests are all played in sequence.

-t TIMEOUT

Connection timeout.

--http2

Perform all requests over a single HTTP/2 connection.

--http2-skip-connection-preface

Skips the HTTP/2 connection preface before sending requests.

SSL:

-s

Connect with SSL.

-C CLIENTCERT

Path to a file containing client certificate and private key.

-i SNI

SSL Server Name Indication.

--ciphers CIPHERS

SSL cipher specification.

--ssl-version {all|TLSv1_2|secure|TLSv1_1|TLSv1|SSLv3|SSLv2}

Set supported SSL/TLS versions. SSLv2, SSLv3 and all are INSECURE. Defaults to secure, which is TLS1.0+.

Controlling Output:

Some of these options expand generated values for logging. If you're generating large data, use them with caution.

-I IGNORECODES

Comma-separated list of response codes to ignore.

-S

Show info on SSL connection.

-e

Explain requests.

-o

Oneshot - exit after first non-ignored response.

-q

Print full request.

-p

Print full response.

-T

Ignore timeouts.

-x

Output in hexdump format.

--http2-framedump

Output all received & sent HTTP/2 frames.

Authors

pathoc was written by Aldo Cortesi.

This manual page was written for the Debian GNU/Linux system, but its use elsewhere is encouraged.

From mitmproxy 0.18.2-6+deb9u2 in Debian 9 (Stretch). Parsed by carta from the page's man source.