---
product: Chilkat
product_version: 11.7.0
language: python
language_label: Python
class: Url
license: free
deprecated: false
reference_html: https://www.chilkatsoft.com/refdoc/pythonUrlRef.html
---
# Chilkat Url — Python — v11.7.0

> Chilkat 11.7.0 · language=python · class=Url
> Other versions: replace `11.7.0` in this URL. Other languages: `https://www.chilkatsoft.com/ai-docs/v/11.7.0/<lang>/classes/Url.md`.
> Language-wide rules (install, unlock, error model, strings/bytes): `https://www.chilkatsoft.com/ai-docs/v/11.7.0/python/guide.md`.

## Purpose

**Parse a URL into its host, path, query, credentials, port, fragment, and TLS details.**

`Chilkat.Url` is a focused URL parsing class. Given a full URL, it extracts the hostname, host type, login, password, path, query string, fragment, port, and SSL/TLS status into easy-to-read properties. It is useful when application code needs to inspect, validate, route, log, or pass URL parts to lower-level networking or API code.

**Parse full URLs**

Call `ParseUrl` to break a complete URL into structured properties that can be inspected individually.

**Host and host type**

Read the hostname and determine whether it is a DNS name, IPv4 address, or IPv6 address.

**Path and query**

Access the URL path, query string, and combined path-with-query value for request construction or routing.

**Login and password**

Extract embedded userinfo credentials when a URL contains a login and password component.

**Port and TLS status**

Determine the explicit or implied port and whether the URL represents an SSL/TLS connection.

**Fragment handling**

Read the URL fragment separately from the path and query for workflows that need anchor or client-side state information.

**Common pattern:** Use `Url` when the application needs to decompose a URL before making a request or applying custom logic. Parse the full URL, read the properties needed by the caller, then pass the relevant pieces to classes such as `Chilkat.Http`, `Chilkat.Rest`, or `Chilkat.Socket`. Use `Url` for parsing; use the higher-level networking classes to actually send the request.

For an extended overview, see [Url Class Overview](https://www.chilkatsoft.com/url_class_overview.asp).

## Object creation, unlocking and error handling

**Object Creation**

```python
obj = chilkat2.Url()
```

Call `Global.UnlockBundle` once at the start of the program, before using this or any other Chilkat class. Any string unlocks a fully functional 30-day trial; a purchased unlock code is used in production. See `guide.md` for the exact code in Python.

Minimal complete program:

```python
import chilkat2

# Required once per process. Any string unlocks a 30-day trial; use your purchased code in production.
glob = chilkat2.Global()
if not glob.UnlockBundle("Anything for 30-day trial"):
    print(glob.LastErrorText)
    raise SystemExit(1)

url = chilkat2.Url()

success = url.ParseUrl("<url>")
if not success:
    print(url.LastErrorText)   # full diagnostic of what went wrong
    raise SystemExit(1)
```

How failure is reported depends on the method's return type and is stated in the note under each method below. In every case the diagnostic text is in the `LastErrorText` property of the object whose method was called.

## Members common to every Chilkat class

Documented once per language in `common-members.md`; listed here so this page is self-contained.

| Property | Signature | Access | Meaning |
|---|---|---|---|
| `DebugLogFilePath` | `string DebugLogFilePath` | read/write | If set to a file path, this property logs the LastErrorText of each Chilkat method or property call to the specified file. |
| `LastErrorHtml` | `string LastErrorHtml (read-only)` | read-only | Provides HTML-formatted information about the last called method or property. |
| `LastErrorText` | `string LastErrorText (read-only)` | read-only | Provides plain text information about the last called method or property. |
| `LastErrorXml` | `string LastErrorXml (read-only)` | read-only | Provides XML-formatted information about the last called method or property. |
| `LastMethodSuccess` | `bool LastMethodSuccess` | read/write | Indicates the success or failure of the most recent method call: `True` means success, `False` means failure. |
| `VerboseLogging` | `bool VerboseLogging` | read/write | If set to `True`, then the contents of LastErrorText (or LastErrorXml, or LastErrorHtml) may contain more verbose information. |
| `Version` | `string Version (read-only)` | read-only | Version of the component/library, such as "10.1.0" |

## Member index

| Member | Kind | Signature |
|---|---|---|
| `Frag` | property, read-only | `string Frag (read-only)` |
| `Host` | property, read-only | `string Host (read-only)` |
| `HostType` | property, read-only | `string HostType (read-only)` |
| `Login` | property, read-only | `string Login (read-only)` |
| `Password` | property, read-only | `string Password (read-only)` |
| `Path` | property, read-only | `string Path (read-only)` |
| `PathWithQueryParams` | property, read-only | `string PathWithQueryParams (read-only)` |
| `Port` | property, read-only | `int Port (read-only)` |
| `Query` | property, read-only | `string Query (read-only)` |
| `Scheme` | property, read-only | `string Scheme (read-only)` |
| `Ssl` | property, read-only | `bool Ssl (read-only)` |
| `ParseUrl` | method | `bool ParseUrl(string url)` |

## Properties

### Url.Frag

`Chilkat 11.7.0 · python · Url · Frag · property · read-only · since 9.5.0.49`

```python
string Frag (read-only)
```

Contains any text following a fragment marker (#) in the URL, excluding the fragment marker. Given the URI http://www.contoso.com/index.htm#main, the fragment is `main`.

### Url.Host

`Chilkat 11.7.0 · python · Url · Host · property · read-only · since 9.5.0.49`

```python
string Host (read-only)
```

The DNS host name or IP address part of the URL. For example, if the URL is `http://www.contoso.com:8080/`, the Host is `www.contoso.com`. If the URL is `https://192.168.1.124/test.html`, the Host is `192.168.1.124`.

### Url.HostType

`Chilkat 11.7.0 · python · Url · HostType · property · read-only · since 9.5.0.49`

```python
string HostType (read-only)
```

The type of the host name specified in the URL. Possible values are:

- `dns`: The host name is a domain name system (DNS) style host name.
- `ipv4`: The host name is an Internet Protocol (IP) version 4 host address.
- `ipv6`: The host name is an Internet Protocol (IP) version 6 host address.

### Url.Login

`Chilkat 11.7.0 · python · Url · Login · property · read-only · since 9.5.0.49`

```python
string Login (read-only)
```

If the URL contains a login and password, this is the login part. For example, if the URL is `http://user:password@www.contoso.com/index.htm`, then the login is `user`.

### Url.Password

`Chilkat 11.7.0 · python · Url · Password · property · read-only · since 9.5.0.49`

```python
string Password (read-only)
```

If the URL contains a login and password, this is the password part. For example, if the URL is `http://user:password@www.contoso.com/index.htm`, then the password is `password`.

### Url.Path

`Chilkat 11.7.0 · python · Url · Path · property · read-only · since 9.5.0.49`

```python
string Path (read-only)
```

The path (and params) part of the URL, excluding the query and fragment. If the URL is: `http://www.amazon.com/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1`, then the path is `/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3`.

### Url.PathWithQueryParams

`Chilkat 11.7.0 · python · Url · PathWithQueryParams · property · read-only · since 9.5.0.58`

```python
string PathWithQueryParams (read-only)
```

The path (and params) part of the URL, including the query params, but excluding the fragment. If the URL is: `http://www.amazon.com/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1`, then then this property returns `/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1`.

### Url.Port

`Chilkat 11.7.0 · python · Url · Port · property · read-only · since 9.5.0.49`

```python
int Port (read-only)
```

The port number of the URL.

For example, if the URL is `http://www.contoso.com:8080/`, the port number is 8080.  
If the URL is `https://192.168.1.124/test.html`, the port number is the default 80.  
If the URL is `https://www.amazon.com/`, the port number is the default SSL/TLS port 443.

### Url.Query

`Chilkat 11.7.0 · python · Url · Query · property · read-only · since 9.5.0.49`

```python
string Query (read-only)
```

The query part of the URL, excluding the fragment. If the URL is: `http://www.amazon.com/gp/product/1476752842/ref=s9_psimh_gw_p14_d0_i3?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1#frag`, then the query is `pf_rd_m=ATVPDKIKX0DER&pf_rd_s=desktop-1`.

### Url.Scheme

`Chilkat 11.7.0 · python · Url · Scheme · property · read-only · since 11.6.0`

```python
string Scheme (read-only)
```

The scheme part of the URL. For example, if the URL is `https://www.contoso.com:8080/`, the Scheme is `https`.

### Url.Ssl

`Chilkat 11.7.0 · python · Url · Ssl · property · read-only · since 9.5.0.49`

```python
bool Ssl (read-only)
```

`True` if the URL indicates SSL/TLS, otherwise false. A URL beginning with `https://` indicates SSL/TLS.

## Methods

### Url.ParseUrl

`Chilkat 11.7.0 · python · Url · ParseUrl · method · since 9.5.0.49`

```python
bool ParseUrl(string url)
```

Parses a full URL. After parsing, the various parts of the URL are available iin the properties.

Returns True for success, False for failure.

