NTLM身份验证#

NTlm身份验证池,由erikcederstran提供

第10期,见:http://code.google.com/p/urllib3/issues/detail?ID=10

class urllib3.contrib.ntlmpool.NTLMConnectionPool(user, pw, authurl, *args, **kwargs)#

基类:urllib3.connectionpool.HTTPSConnectionPool

实现urllib3连接池的ntlm身份验证版本

scheme = 'https'#
urlopen(method, url, body=None, headers=None, retries=3, redirect=True, assert_same_host=True)#

从池中获取连接并执行http请求。这是发出请求的最低级别调用,因此需要指定所有原始详细信息。

注解

更常见的是,使用 RequestMethods ,如 request() .

注解

release_conn 只有当 preload_content=False 因为我们想 preload_content=False 在不破坏向后兼容性的情况下,很快就会出现默认行为。

参数
  • method -- http请求方法(如get、post、put等)

  • url -- 要对其执行请求的URL。

  • body -- 要在请求正文中发送的数据,可以是 str, bytes, an iterable of str/bytes 或类似文件的对象。

  • headers -- 要发送的自定义头的字典,如用户代理、如果不匹配等。如果不匹配,则使用池头。如果提供,这些头将完全替换任何池特定的头。

  • retries (Retry, False, or an int.) -- 配置在引发之前允许的重试次数 MaxRetryError 例外。通过 None 在收到响应之前重试。通过A Retry 对象,用于对不同类型的重试进行细粒度控制。传递一个整数以重试多次连接错误,但不传递其他类型的错误。过零表示永不重试。如果 False ,则禁用重试并立即引发任何异常。此外,不会在重定向时引发maxretryerror,而是返回重定向响应。

  • redirect -- 如果为真,则自动处理重定向(状态代码301、302、303、307、308)。每一次重定向都将被视为一次重试。禁用重试也将禁用重定向。

  • assert_same_host -- 如果 True 将确保池请求的主机一致,否则将引发HostChangedError。什么时候 False ,您可以在HTTP代理上使用该池并请求外部主机。

  • timeout -- 如果指定,则重写此请求的默认超时。它可以是浮点(以秒为单位)或 urllib3.util.Timeout .

  • pool_timeout -- 如果设置并将池设置为block=true,则此方法将为 pool_timeout 秒,如果在此时间段内没有可用连接,则引发EmptyPoolerror。

  • release_conn -- 如果为false,则urlopen调用在收到响应后不会释放回池中的连接(但如果您读取响应的全部内容,例如 preload_content=True )如果不立即预加载响应的内容,这将非常有用。你需要打电话 r.release_conn() 关于回应 r 将连接返回到池中。如果没有,则取 response_kw.get('preload_content', True) .

  • chunked -- 如果为true,urllib3将使用分块传输编码发送正文。否则,urllib3将使用标准内容长度表单发送正文。默认为false。

  • body_pos (int) -- 在重试或重定向时在类似文件的正文中查找的位置。通常不需要设置此值,因为urllib3将在需要时自动填充该值。

  • **response_kw -- 其他参数传递给 urllib3.response.HTTPResponse.from_httplib()