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 ofstr
/bytes
或类似文件的对象。headers -- 要发送的自定义头的字典,如用户代理、如果不匹配等。如果不匹配,则使用池头。如果提供,这些头将完全替换任何池特定的头。
retries (
Retry
, False, or an int.) -- 配置在引发之前允许的重试次数MaxRetryError
例外。通过None
在收到响应之前重试。通过ARetry
对象,用于对不同类型的重试进行细粒度控制。传递一个整数以重试多次连接错误,但不传递其他类型的错误。过零表示永不重试。如果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()