Class Url

All Implemented Interfaces:
AutoCloseable

public class Url extends ChilkatObject
<section class="url-summary">

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.

</section>

Instances hold a native Chilkat object: close them with ChilkatObject.close() (try-with-resources) when done; an unclosed instance is freed when it becomes unreachable.

See Also:
Online reference
  • Constructor Details

    • Url

      public Url()
      Creates a new Url object.
  • Method Details

    • getFrag

      public String getFrag()
      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.
      Returns:
      the value of the Frag property (read-only)
    • getHost

      public String getHost()
      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.
      Returns:
      the value of the Host property (read-only)
    • getHostType

      public String getHostType()
      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.

      Returns:
      the value of the HostType property (read-only)
    • getLogin

      public String getLogin()
      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.
      Returns:
      the value of the Login property (read-only)
    • getPassword

      public String getPassword()
      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.
      Returns:
      the value of the Password property (read-only)
    • getPath

      public String getPath()
      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.
      Returns:
      the value of the Path property (read-only)
    • getPathWithQueryParams

      public String getPathWithQueryParams()
      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.
      Returns:
      the value of the PathWithQueryParams property (read-only)
    • getPort

      public int getPort()
      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.

      Returns:
      the value of the Port property (read-only)
    • getQuery

      public String getQuery()
      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.
      Returns:
      the value of the Query property (read-only)
    • getScheme

      public String getScheme()
      The scheme part of the URL. For example, if the URL is https://www.contoso.com:8080/, the Scheme is https.
      Returns:
      the value of the Scheme property (read-only)
    • getSsl

      public boolean getSsl()
      true if the URL indicates SSL/TLS, otherwise false. A URL beginning with https:// indicates SSL/TLS.
      Returns:
      the value of the Ssl property (read-only)
    • parseUrl

      public void parseUrl​(String url)
      Parses a full URL. After parsing, the various parts of the URL are available iin the properties.
      Parameters:
      url - the url argument (not null)
      Throws:
      ChilkatException - if the operation fails; ChilkatException.getLastErrorText() says why