未实现的选项和常量¶
pycurl故意不公开libcurl的某些选项和常量。本文档解释了从pycurl中省略的libcurl符号。
*DATA
选项¶
在LiCURL中, *aDATA
选项集 客户端数据 用于各种回调。每个回调都有一个对应的 *DATA
选择权。
在具有闭包的python语言中,这样的选项是不必要的。例如,以下代码调用实例的 write
对类实例具有完全访问权限的方法:
class Writer(object):
def __init__(self):
self.foo = True
def write(chunk):
# can use self.foo
writer = Writer()
curl = pycurl.Curl()
curl.setopt(curl.WRITEFUNCTION, writer.write)
从7.19.3版开始,pycurl实现了三个 *DATA
方便选择: WRITEDATA
, HEADERDATA
和 READDATA
. 这相当于使用 write
或 read
方法,视情况而定:
# equivalent pairs:
curl.setopt(curl.WRITEDATA, writer)
curl.setopt(curl.WRITEFUNCTION, writer.write)
curl.setopt(curl.HEADERDATA, writer)
curl.setopt(curl.HEADERFUNCTION, writer.write)
curl.setopt(curl.READDATA, reader)
curl.setopt(curl.READFUNCTION, reader.read)
CURLINFO_TLS_SESSION
¶
尚不清楚SSL上下文应该如何向Python代码公开。如果找到用例,就可以实现这个选项。
未记录符号¶
一些符号出现在libcurl的 symbols in versions 文档,但没有由libcurl记录。这些符号不是由PycURL实现的。
在本文中,以下符号被严重省略:
CURLPAUSE_RECV_CONT
CURLPAUSE_SEND_CONT