## wxURL

wxURL is a specialization of wxURI for parsing URLs. Please look at wxURI documentation for more info about the functions you can use to retrieve the various parts of the URL (scheme, server, port, etc).

Supports standard assignment operators, copy constructors, and comparison operators.

Derived from

wxURI
wxObject

Include files

<wx/url.h>

See also

wxSocketBase, wxProtocol

Members

wxURL::wxURL
wxURL::~wxURL
wxURL::GetProtocol
wxURL::GetError
wxURL::GetInputStream
wxURL::IsOk
wxURL::SetDefaultProxy
wxURL::SetProxy
wxURL::SetURL

### wxURL::wxURL

wxURL(const wxString& url = wxEmptyString)

Constructs a URL object from the string. The URL must be valid according to RFC 1738. In particular, file URLs must be of the format `file://hostname/path/to/file` otherwise GetError will return a value different from `wxURL_NOERR`.

It is valid to leave out the hostname but slashes must remain in place - i.e. a file URL without a hostname must contain three consecutive slashes (e.g. `file:///somepath/myfile`).

Parameters

url

Url string to parse.

### wxURL::~wxURL

~wxURL()

Destroys the URL object.

### wxURL::GetProtocol

wxProtocol& GetProtocol()

Returns a reference to the protocol which will be used to get the URL.

### wxURL::GetError

wxURLError GetError() const

Returns the last error. This error refers to the URL parsing or to the protocol. It can be one of these errors:

wxURL_NOERR | No error.
wxURL_SNTXERR | Syntax error in the URL string.
wxURL_NOPROTO | Found no protocol which can get this URL.
wxURL_NOHOST | An host name is required for this protocol.
wxURL_NOPATH | A path is required for this protocol.
wxURL_CONNERR | Connection error.
wxURL_PROTOERR | An error occurred during negotiation.

### wxURL::GetInputStream

wxInputStream * GetInputStream()

Creates a new input stream on the specified URL. You can use all but seek functionality of wxStream. Seek isn't available on all streams. For example, HTTP or FTP streams don't deal with it.

Note that this method is somewhat deprecated, all future wxWidgets applications should really use wxFileSystem instead.

Example:

      wxURL url("http://a.host/a.dir/a.file");
      if (url.GetError() == wxURL_NOERR)
      {
          wxInputStream *in_stream;

          in_stream = url.GetInputStream();
          // Then, you can use all IO calls of in_stream (See wxStream)
      }

Return value

Returns the initialized stream. You will have to delete it yourself.

See also

wxInputStream

### wxURL::IsOk

bool IsOk() const

Returns `true` if this object is correctly initialized, i.e. if GetError returns `wxURL_NOERR`.

### wxURL::SetDefaultProxy

static void SetDefaultProxy(const wxString& url_proxy)

Sets the default proxy server to use to get the URL. The string specifies the proxy like this: <hostname>:<port number>.

Parameters

url_proxy

Specifies the proxy to use

See also

wxURL::SetProxy

### wxURL::SetProxy

void SetProxy(const wxString& url_proxy)

Sets the proxy to use for this URL.

See also

wxURL::SetDefaultProxy

### wxURL::SetURL

wxURLError SetURL(const wxString& url)

Initializes this object with the given URL and returns `wxURL_NOERR` if it's valid (see GetError for more info).