【问题标题】:python http request with token带有令牌的python http请求
【发布时间】:2011-03-22 07:31:40
【问题描述】:

如何以及使用哪个 python 库可以使用用户:密码或令牌进行 httprequest (https)?

基本上相当于curl -u user:pwd https://www.mysite.com/

谢谢

【问题讨论】:

    标签: python authentication httprequest token


    【解决方案1】:

    类 urllib2.HTTPSHandler 处理打开 HTTPS URL 的类。

    21.6.7。 HTTPPasswordMgr 对象 这些方法可用于 HTTPPasswordMgr 和 HTTPPasswordMgrWithDefaultRealm 对象。

    HTTPPasswordMgr.add_password(realm, uri, user, passwd) uri 可以是单个 URI,也可以是 URI 序列。 realm、user 和 passwd 必须是字符串。这会导致 (user, passwd) 在为领域和任何给定 URI 的超级 URI 提供身份验证时用作身份验证令牌。 HTTPPasswordMgr.find_user_password(领域,authuri) 获取给定领域和 URI 的用户/密码(如果有)。如果没有匹配的用户/密码,此方法将返回 (None, None)。

    对于 HTTPPasswordMgrWithDefaultRealm 对象,如果给定领域没有匹配的用户/密码,则将搜索领域 None。

    【讨论】:

      【解决方案2】:

      查看我们的urllib2。底部的示例可能会很有趣。

      http://docs.python.org/library/urllib2.html

      【讨论】:

        【解决方案3】:

        如果您需要发出线程安全的请求,请使用pycurl(curl 的 python 接口):

        import pycurl
        from StringIO import StringIO
        
        response_buffer = StringIO()
        curl = pycurl.Curl()
        
        curl.setopt(curl.URL, "https://www.yoursite.com/")
        
        # Setup the base HTTP Authentication.
        curl.setopt(curl.USERPWD, '%s:%s' % ('youruser', 'yourpassword'))
        
        curl.setopt(curl.WRITEFUNCTION, response_buffer.write)
        
        curl.perform()
        curl.close()
        
        response_value = response_buffer.getvalue()
        

        否则,请使用urllib2(有关更多信息,请参阅其他回复),因为它是内置的,并且界面更简洁。

        【讨论】:

          【解决方案4】:

          使用 python 请求:用于人类的 Http

          import requests
          
          requests.get("https://www.mysite.com/", auth=('username','pwd'))
          

          你也可以使用摘要认证...

          【讨论】:

            猜你喜欢
            • 2018-04-05
            • 1970-01-01
            • 2021-09-01
            • 2015-11-27
            • 1970-01-01
            • 2019-06-04
            • 2020-01-15
            • 2017-12-30
            • 2019-06-29
            相关资源
            最近更新 更多