<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def urlopen(self, url, data=None, *args, **kwargs):
 """ Same as urllib2.urlopen or urllib.request.urlopen, the only difference is that it links to the internal opener. """

        logger.info('opening: \'%s\'', url)

        if data is None:
            return self.opener.open(url)

        return self.opener.open(url, data)