当前位置: 首页>>代码示例>>Python>>正文


Python HTTPBasicAuth.register_hook方法代码示例

本文整理汇总了Python中pip._vendor.requests.auth.HTTPBasicAuth.register_hook方法的典型用法代码示例。如果您正苦于以下问题:Python HTTPBasicAuth.register_hook方法的具体用法?Python HTTPBasicAuth.register_hook怎么用?Python HTTPBasicAuth.register_hook使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pip._vendor.requests.auth.HTTPBasicAuth的用法示例。


在下文中一共展示了HTTPBasicAuth.register_hook方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __call__

# 需要导入模块: from pip._vendor.requests.auth import HTTPBasicAuth [as 别名]
# 或者: from pip._vendor.requests.auth.HTTPBasicAuth import register_hook [as 别名]
    def __call__(self, req):
        parsed = urllib_parse.urlparse(req.url)

        # Get the netloc without any embedded credentials
        netloc = parsed.netloc.rsplit("@", 1)[-1]

        # Set the url of the request to the url without any credentials
        req.url = urllib_parse.urlunparse(parsed[:1] + (netloc,) + parsed[2:])

        # Use any stored credentials that we have for this netloc
        username, password = self.passwords.get(netloc, (None, None))

        # Extract credentials embedded in the url if we have none stored
        if username is None:
            username, password = self.parse_credentials(parsed.netloc)

        # Get creds from netrc if we still don't have them
        if username is None and password is None:
            netrc_auth = get_netrc_auth(req.url)
            username, password = netrc_auth if netrc_auth else (None, None)

        if username or password:
            # Store the username and password
            self.passwords[netloc] = (username, password)

            # Send the basic auth with this request
            req = HTTPBasicAuth(username or "", password or "")(req)

        # Attach a hook to handle 401 responses
        req.register_hook("response", self.handle_401)

        return req
开发者ID:AlerzDev,项目名称:Brazo-Proyecto-Final,代码行数:34,代码来源:download.py

示例2: handle_401

# 需要导入模块: from pip._vendor.requests.auth import HTTPBasicAuth [as 别名]
# 或者: from pip._vendor.requests.auth.HTTPBasicAuth import register_hook [as 别名]
    def handle_401(self, resp, **kwargs):
        # We only care about 401 responses, anything else we want to just
        #   pass through the actual response
        if resp.status_code != 401:
            return resp

        # We are not able to prompt the user so simply return the response
        if not self.prompting:
            return resp

        parsed = urllib_parse.urlparse(resp.url)

        # Prompt the user for a new username and password
        username = six.moves.input("User for %s: " % parsed.netloc)
        password = getpass.getpass("Password: ")

        # Store the new username and password to use for future requests
        if username or password:
            self.passwords[parsed.netloc] = (username, password)

        # Consume content and release the original connection to allow our new
        #   request to reuse the same one.
        resp.content
        resp.raw.release_conn()

        # Add our new username and password to the request
        req = HTTPBasicAuth(username or "", password or "")(resp.request)
        req.register_hook("response", self.warn_on_401)

        # Send our new request
        new_resp = resp.connection.send(req, **kwargs)
        new_resp.history.append(resp)

        return new_resp
开发者ID:DuongNguyen7691,项目名称:Summer2019,代码行数:36,代码来源:download.py


注:本文中的pip._vendor.requests.auth.HTTPBasicAuth.register_hook方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。