1.8 KiB
1.8 KiB
Python 中的套接字示例
原文:https://www.pythonforbeginners.com/code-snippets-source-code/python-socket-examples
Python 中的 socket 模块提供了对 BSD 套接字接口的访问。
这篇文章将展示如何使用套接字函数的例子。
要阅读更多关于 socket 模块及其功能的内容,我推荐官方文档这里。
获取 fqdn(完全限定域名)
print socket.getfqdn("8.8.8.8")
>>google-public-dns-a.google.com
将主机名转换为 IPv4 地址格式
print socket.gethostbyname("www.python.org")
>>82.94.164.162
将主机名转换为 IPv4 地址格式,扩展接口
print socket.gethostbyname_ex("www.python.org")
>>('python.org', [], ['82.94.164.162'])
返回机器的主机名..
print socket.gethostname()
>>Virtualbox123
脚本
The script below, will return the IP address of the hostname given.
If it cannot find the hostname, it will print the error to screen using
the exception handling "gaierror" (raised for address-related errors).
import socket
name = "wwaxww.python.org"
try:
host = socket.gethostbyname(name)
print host
except socket.gaierror, err:
print "cannot resolve hostname: ", name, err
If you look in the name, I misspelled the address to let you see how the error
message would look like
>>cannot resolve hostname: wwaxww.python.org [Errno -5] No address associated
with hostname
And if I run it again with the correct spelling
import socket
name = "www.python.org"
try:
host = socket.gethostbyname(name)
print host
except socket.gaierror, err:
print "cannot resolve hostname: ", name, err
>>82.94.164.162