我正在使用pyOpenSSL接口到OpenSSL库,但它缺少我需要的一些功能,我不能或不想修改它来支持这些方法(出于各种原因)。
所以我想要实现的是检索OpenSSL对象指针。之后,我将能够通过ctypes调用缺少的函数。这样做的最佳方法是什么?
我已经发现我可以使用id()来获取指向pyOpenSSL对象的指针。如何使用它来访问ssl变量。
来自pyOpenSSL / connections.h:
typedef struct {
PyObject_HEAD
SSL *ssl;
ssl_ContextObj *context;
PyObject *socket;
PyThreadState *tstate;
PyObject *app_data;
} ssl_ConnectionObj;
答案 0 :(得分:3)
指针在Python中并没有多大意义,因为你无法对它们做任何事情。它们只是一个整数。您已经注意到,您可以使用id方法获取对象的地址。但这就是它的地址。它不是指针,所以你不能用它做任何事情。
你也可以这样看:Python中的所有内容都是指针。您对pyOpenSSL对象的变量是指针。但它是指向pyOpenSSL对象的指针,而不是指向连接结构的指针。您不可能直接访问该结构。
所以你必须告诉我们你想做什么。也许有另一种解决方案。