library: libCore #include "TUrl.h"

# TUrl

class description - source file - inheritance tree (.ps)

## class TUrl : public TObject

| Inheritance Chart:

`TObject`

<-

`TUrl`

        private:

                            TUrl()
          static TObjArray* GetSpecialProtocols()

        public:

                          TUrl(const char* url, Bool_t defaultIsFile = kFALSE)
                          TUrl(const TUrl& url)
                  virtual ~TUrl()
           static TClass* Class()
              const char* GetAnchor() const
              const char* GetFile() const
              const char* GetHost() const
              const char* GetOptions() const
              const char* GetPasswd() const
                    Int_t GetPort() const
              const char* GetProtocol() const
              const char* GetUrl() const
              const char* GetUser() const
          virtual TClass* IsA() const
                   Bool_t IsValid() const
                    TUrl& operator=(const TUrl& rhs)
             virtual void Print(Option_t* option) const
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

                    TString fUrl                full URL
                    TString fProtocol           protocol: http, ftp, news, root, proof, rfio, hpss
                    TString fUser               user name
                    TString fPasswd             password
                    TString fHost               remote host
                    TString fFile               remote object
                    TString fAnchor             anchor in object
                    TString fOptions            options (after ?)
                      Int_t fPort               port through which to contact remote server
          static TObjArray* fgSpecialProtocols  list of special protocols

## Class Description

     TUrl

     This class represents a WWW compatible URL.
     It provides member functions to return the different parts of
     an URL. The supported url format is:
      [proto://][user[:passwd]@]host[:port]/file.ext[#anchor][?options]

TUrl(const char *url, Bool_t defaultIsFile)

     Parse url character string and split in its different subcomponents.
     Use IsValid() to check if URL is legal.

     url: [proto://][user[:passwd]@]host[:port]/file.ext[#anchor][?options]

     Known protocols: http, root, proof, ftp, news, file, rfio, hpss, castor,
     dcache and dcap.
     The default protocol is http, unless defaultIsFile is true in which
     case the url is assumed to be of type file.
     If a passwd contains a @ it must be escaped by a \, e.g.
     "pip@" becomes "pip\@".

     Default ports: http=80, root=1094, proof=1093, ftp=20, news=119.
     Port #1093 has been assigned by IANA (www.iana.org) to proofd.
     Port #1094 has been assigned by IANA (www.iana.org) to rootd.

TUrl(const TUrl &url) : TObject(url)

     TUrl copt ctor.

const char* GetUrl()

     Return full URL.

void Print(Option_t *) const

     Print URL on stdout.

TObjArray* GetSpecialProtocols()

     Read the list of special protocols from the rootrc files.
     These protocols will be parsed in a protocol and a file part,
     no host or other info will be determined. This is typically
     used for legacy file descriptions like: rfio:host:/path/file.root.

### Inline Functions

                   void ~TUrl()
                   TUrl TUrl(const TUrl& url)
                  TUrl& operator=(const TUrl& rhs)
            const char* GetProtocol() const
            const char* GetUser() const
            const char* GetPasswd() const
            const char* GetHost() const
            const char* GetFile() const
            const char* GetAnchor() const
            const char* GetOptions() const
                  Int_t GetPort() const
                 Bool_t IsValid() const
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)

Author: Fons Rademakers 17/01/97
Last update: root/net:$Name: $:$Id: TUrl.cxx,v 1.17 2004/03/02 13:03:31 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *