这些是正常的getaddrinfo用法:
socket.getaddrinfo('localhost',25)
socket.getaddrinfo('localhost','smtp')
但这也很好(在Python 3.4中试用):
socket.getaddrinfo('localhost','25')
对我来说似乎合乎逻辑,但是文档中说:
port是字符串服务名称,例如“ http”,数字端口号或
没有
像“ 25”这样的字符串可以视为数字吗?最后一个getaddrinfo示例可以吗?
最佳答案
Python套接字模块是BSD套接字接口的C API的包装。在此接口中,getaddrinfo
函数采用一个service
参数,该参数是一个字符串,可以是服务名称,端口号的字符串表示形式或null。
As seen here,Python函数将相应的参数转换为字符串(如果需要)并调用C getaddrinfo
函数。因此,它将与25
和'25'
等效地工作。
关于python - 可以将socket.getaddrinfo端口号作为字符串给出吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34002152/