Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

A tool to extract and modify URL features

Project description

urp parses URLs. It’s a command-line tool that enables users to extract and modify their features. It knows all about schemes, authentication, hosts, ports, paths, parameters, query strings, and fragments.

Basic Usage

urp takes URLs as input, and outputs URLs or features of URLs depending on its options. It takes URLs specified as arguments and newline-delimited URLs from standard input.

$ urp -s
$ echo '' | urp -s
$ urp -D /search -Q q=urp ''

Printing URL Features

If any of these options are specified, urp will abandon its default behavior of printing full URLs and instead print the features specified.

-s, --print-scheme
 Print scheme.
-u, --print-username
 Print username.
-w, --print-password
 Print password.
-o, --print-hostname
 Print hostname.
-p, --print-port
 Print port.
-a, --print-authority
 Print authority. The authority is comprised of the username, password, hostname, and port.
-d, --print-path
 Print path.
--print-params Print params.
-q, --print-query
 Print query string.
 Print query parameter names.
 Print query parameter values.
-f, --print-fragment
 Print fragment.
-g QUERY, --print-query-value QUERY
 Print value of query parameter.

Modifying URLs

Modifying features of URLs will cause the changes to be reflected in the output, both through the printing options and through default behavior.

-S SCHEME, --scheme SCHEME
 Set scheme to SCHEME.
 Set username to USERNAME.
 Set password to PASSWORD.
 Set hostname to HOSTNAME.
-P PORT, --port PORT
 Set port to PORT.
-D PATH, --path PATH
 Set or append path as PATH. If PATH begins with a / then the path is replaced. Otherwise it is appended to the existing path.
--params PARAMS
 Set params to PARAMS.
--query QUERY Set query to QUERY.
-Q PAIR, --append-query PAIR
 Append query parameter. PAIR should have the format NAME=VALUE.
 Set fragment to FRAGMENT.

Altering Behavior

By default, urp outputs URL-encoded fields where necessary and preserves the order of query parameters.

 Disable URL encoding in output.
 Disable query parameter parsing. urp will not try to parse NAME=VALUE pairs from queries.
--sort-query Sort query parameters by name in output.
-x QUERY, --ignore-query QUERY
 Ignore query parameter.

Each URL processed emits a record, consisting of multiple fields. By default, records are separated with newlines and fields are separated with spaces. To change the record separator, set the RS environment variable. To change the field separator, set the OFS environment variable.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for urp, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size urp-0.1.1.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page