\section{\class{wxURL}}\label{wxurl}

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/url.h>

\wxheading{See also}

\helpref{wxSocketBase}{wxsocketbase}, \helpref{wxProtocol}{wxprotocol}

\wxheading{Example}

\begin{verbatim}
  wxURL url("http://a.host/a.dir/a.file");
  wxInputStream *in_stream;

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

% ----------------------------------------------------------------------------
% Members
% ----------------------------------------------------------------------------

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxURL::wxURL}\label{wxurlconstr}

\func{}{wxURL}{\param{const wxString\&}{ url}}

Constructs an URL object from the string.

\wxheading{Parameters}

\docparam{url}{Url string to parse.}

\membersection{wxURL::\destruct{wxURL}}

\func{}{\destruct{wxURL}}{\void}

Destroys the URL object.

%
% GetProtocolName
%
\membersection{wxURL::GetProtocolName}

\constfunc{wxString}{GetProtocolName}{\void}

Returns the name of the protocol which will be used to get the URL.

%
% GetProtocol
%
\membersection{wxURL::GetProtocol}

\func{wxProtocol\&}{GetProtocol}{\void}

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

%
% GetPath
%
\membersection{wxURL::GetPath}

\func{wxString}{GetPath}{\void}

Returns the path of the file to fetch. This path was encoded in the URL.

%
% GetError
%
\membersection{wxURL::GetError}

\constfunc{wxURLError}{GetError}{\void}

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

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt%
\twocolitem{{\bf wxURL\_NOERR}}{No error.}
\twocolitem{{\bf wxURL\_SNTXERR}}{Syntax error in the URL string.}
\twocolitem{{\bf wxURL\_NOPROTO}}{Found no protocol which can get this URL.}
\twocolitem{{\bf wxURL\_NOHOST}}{An host name is required for this protocol.}
\twocolitem{{\bf wxURL\_NOPATH}}{A path is required for this protocol.}
\twocolitem{{\bf wxURL\_CONNERR}}{Connection error.}
\twocolitem{{\bf wxURL\_PROTOERR}}{An error occurred during negotiation.}
\end{twocollist}%

%
% GetInputStream
%
\membersection{wxURL::GetInputStream}

\func{wxInputStream *}{GetInputStream}{\void}

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

\wxheading{Return value}

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

\wxheading{See also}

\helpref{wxInputStream}{wxinputstream}

%
% SetDefaultProxy
%
\membersection{wxURL::SetDefaultProxy}\label{wxurlsetdefaultproxy}

\func{static void}{SetDefaultProxy}{\param{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>.

\wxheading{Parameters}

\docparam{url\_proxy}{Specifies the proxy to use}

\wxheading{See also}

\helpref{wxURL::SetProxy}{wxurlsetproxy}

%
% SetProxy
%
\membersection{wxURL::SetProxy}\label{wxurlsetproxy}

\func{void}{SetProxy}{\param{const wxString\&}{ url\_proxy}}

Sets the proxy to use for this URL.

\wxheading{See also}

\helpref{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}

%
% SetProxy
%
\membersection{wxURL::ConvertToValidURI}

\func{static wxString}{ConvertToValidURI}{\param{const wxString\&}{ uri}}

It converts a non-standardized URI to a valid network URI. It encodes non
standard characters.

