【发布时间】:2011-05-04 17:35:16
【问题描述】:
我想在 Cython 中调用 inet_pton 来获取 IPv6 地址。基本上我想做相当于下面的C代码:
char str[16];
inet_pton(AF_INET6, "12:212::122", &str);
我尝试了以下方法:
cdef char buff[16]
inet_pton(AF_INET6, address, &buff):
但这会报错:“Taking address of non-lvalue”。
正确的做法是什么?最后我需要将 IPv6 地址字符串转换为 python long。
【问题讨论】:
-
请注意,您应该使用
getnameinfo和getaddrinfo作为inet_pton和inet_ntop不支持 IPv6 区域。