url-parser/README.md

97 lines
3.1 KiB
Markdown
Raw Normal View History

2020-02-02 23:05:18 +00:00
# url-parser
2023-08-22 07:46:00 +00:00
Simple command-line URL parser
2023-08-21 14:06:34 +00:00
[![Build Status](https://ci.thegeeklab.de/api/badges/thegeeklab/url-parser/status.svg)](https://ci.thegeeklab.de/repos/thegeeklab/url-parser)
2020-09-21 18:24:51 +00:00
[![Go Report Card](https://goreportcard.com/badge/github.com/thegeeklab/url-parser)](https://goreportcard.com/report/github.com/thegeeklab/url-parser)
2020-09-21 18:54:34 +00:00
[![GitHub contributors](https://img.shields.io/github/contributors/thegeeklab/url-parser)](https://github.com/thegeeklab/url-parser/graphs/contributors)
[![License: MIT](https://img.shields.io/github/license/thegeeklab/url-parser)](https://github.com/thegeeklab/url-parser/blob/main/LICENSE)
2020-02-02 23:05:18 +00:00
Inspired by [herloct/url-parser](https://github.com/herloct/url-parser), a simple command-line utility for parsing URLs.
2021-10-25 10:48:09 +00:00
## Installation
2020-02-02 23:05:18 +00:00
2023-08-21 14:06:34 +00:00
Prebuilt multiarch binaries are available for Linux only.
2020-02-02 23:05:18 +00:00
```Shell
curl -SsfL https://github.com/thegeeklab/url-parser/releases/latest/download/url-parser-linux-amd64 -o /usr/local/bin/url-parser
2020-02-02 23:05:18 +00:00
chmod +x /usr/local/bin/url-parser
```
2021-10-25 10:48:09 +00:00
## Build
Build the binary from source with the following command:
```Shell
make build
2021-10-25 10:48:09 +00:00
```
2020-02-02 23:05:18 +00:00
## Usage
```Shell
$ url-parser --help
NAME:
url-parser - Parse URL and shows the part of it.
USAGE:
url-parser [global options] command [command options]
2020-02-02 23:05:18 +00:00
VERSION:
2020-02-03 14:00:54 +00:00
devel
2020-02-02 23:05:18 +00:00
COMMANDS:
2020-02-03 14:00:54 +00:00
all, a Get all parts from url
scheme, s Get scheme from url
user, u Get username from url
password, pw Get password from url
path, pt Get path from url
host, ht Get hostname from url
2020-02-03 14:00:54 +00:00
port, p Get port from url
query, q Get query from url
fragment, f Get fragment from url
help, h Shows a list of commands or help for one command
2020-02-02 23:05:18 +00:00
GLOBAL OPTIONS:
--url value source url to parse [$URL_PARSER_URL]
--help, -h show help
--version, -v print the version
2020-02-02 23:05:18 +00:00
```
## Examples
```Shell
$ url-parser --url https://somedomain.com host
2020-02-02 23:05:18 +00:00
somedomain.com
$ url-parser --url https://herloct@somedomain.com user
2020-02-02 23:05:18 +00:00
herloct
$ url-parser --url https://somedomain.com/path/to path
2020-02-02 23:05:18 +00:00
/path/to
$ url-parser --url https://somedomain.com/path/to path --path-index=1
2020-02-02 23:05:18 +00:00
to
$ url-parser --url https://somedomain.com/?some-key=somevalue query
2020-02-02 23:05:18 +00:00
some-key=somevalue
$ url-parser --url https://somedomain.com/?some-key=somevalue query --query-field=some-key
2020-02-02 23:05:18 +00:00
somevalue
# It is also possible to read the URL from stdin
$ echo "https://somedomain.com" | url-parser host
somedomain.com
# Get json output or all parsed parts
$ url-parser --url https://somedomain.com/?some-key=somevalue all --json
{"scheme":"https","hostname":"somedomain.com","port":"","path":"/","fragment":"","rawQuery":"some-key=somevalue","queryParams":[{"key":"some-key","value":"somevalue"}],"username":"","password":""}
2020-02-02 23:05:18 +00:00
```
2020-09-21 18:54:34 +00:00
## Contributors
2022-07-12 07:12:32 +00:00
Special thanks to all [contributors](https://github.com/thegeeklab/url-parser/graphs/contributors). If you would like to contribute, please see the [instructions](https://github.com/thegeeklab/url-parser/blob/main/CONTRIBUTING.md).
2020-09-21 18:54:34 +00:00
2020-02-24 21:26:37 +00:00
## License
2020-02-02 23:05:18 +00:00
This project is licensed under the MIT License - see the [LICENSE](https://github.com/thegeeklab/url-parser/blob/main/LICENSE) file for details.