Requests and returns a page using the user's session
        
        If useRef is set to true, automatically appends a referer using
        the user's last page to the request. If usePin is set to true,
        automatically appends the user's pin to the POST data. If browser
        sync is enabled, automatically retrieves and uses the browser's
        most up to date cookies for the request and attempts to save the
        updated cookies to the browser's cookie database. If useHooks is
        set to true, delivers the resulting Page object to each hook
        function for processing. Finally, returns the requested page.
        
        Parameters
           url (str) -- URL of remote page
           postData (dict) -- POST data to send with request
           vars (dict) -- Additional HTTP Header variables to send with request
           usePin (bool) -- Whether or not to send the user's pin with the request
           
        Returns
           Page -- Requested page
           
        Raises
           neopetsOfflineException

def getPage(self, url, postData = None, vars = None, usePin = False):
        """ Requests and returns a page using the user's session
        
        If useRef is set to true, automatically appends a referer using
        the user's last page to the request. If usePin is set to true,
        automatically appends the user's pin to the POST data. If browser
        sync is enabled, automatically retrieves and uses the browser's
        most up to date cookies for the request and attempts to save the
        updated cookies to the browser's cookie database. If useHooks is
        set to true, delivers the resulting Page object to each hook
        function for processing. Finally, returns the requested page.
        
        Parameters
           url (str) -- URL of remote page
           postData (dict) -- POST data to send with request
           vars (dict) -- Additional HTTP Header variables to send with request
           usePin (bool) -- Whether or not to send the user's pin with the request
           
        Returns
           Page -- Requested page
           
        Raises
           neopetsOfflineException
        """
        # If using a referer is desired and one has not already been supplied, 
        # then set the referer to the user's last visited page.
        if self.useRef and len(self.lastPage) > 0:
            if not vars: vars = {'Referer': self.lastPage}
            elif not "Referer" in vars: vars['Referer'] = self.lastPage
            
        self.lastPage = url
        
        if usePin:
            if self.pin:
                # All forms that require a pin share the same variable name of 'pin'
                postData['pin'] = str(self.pin)
        
        if bool(self.browserSync):
            self.__syncCookies()
        
        pg = Page(url, usr=self, postData=postData, vars=vars, proxy=self.proxy)
        
        if self.browserSync:
            self.__writeCookies()
        
        if "http://images.neopets.com/homepage/indexbak_oops_en.png" in pg.content:
            raise neopetsOfflineException
        
        if self.useHooks:
            for hook in self.hooks:
                self, pg = hook(self, pg)
        return pg