zoukankan      html  css  js  c++  java
  • python网络编程之网络主机信息

    功能: 获取设备名称
    方法: gethostname()
    参数返回值:hostname(string)


    功能: 获取设备ipv4地址
    方法: gethostbyname()
    参数: hostname(string)
    返回值:ip(string) 
    功能: 通过端口名获取对应服务名
    方法: getservbyport()
    参数: port(int)
    返回值:ip(string)


    ........

    #!/usr/bin/env python
    #coding:utf-8
    '''
    An example of getting some information of the host
    '''
    import socket
    
    #获取设备名称
    def gethostName():
        return socket.gethostname()
    
    #获取设备ipv4地址
    def gethostIp(host_name):
        return socket.gethostbyname(host_name)
    
    #通过端口名获取对应服务名
    def getServiceName(port):
        return socket.getservbyport(port)
    
    
    #把ipv4转换为打包后的32位二进制格式并用十六进制表示
    from binascii import hexlify
    def convert_ipv4_to_hex(ipv4):
        ip_binary = socket.inet_aton(ipv4)
        return hexlify(ip_binary)
    
    #将数据转化为网络字节序
    def convert_data_to_networkEndian(data):
        return socket.htonl(data)
    
    
    
    if __name__ == '__main__':
        print gethostName()
        print gethostIp("www.baidu.com")
        print convert_ipv4_to_hex('127.0.0.1')
        print getServiceName(21)
        print convert_data_to_networkEndian(1234)
        print convert_data_to_hostEndian(1234)

    执行结果:

    字节序转换补充: 

    """
    字节序/主机序转换方法:

      htons 把 unsigned short 类型从主机序转换到网络序
      htonl 把 unsigned long 类型从主机序转换到网络序
      ntohs 把 unsigned short 类型从网络序转换到主机序
      ntohl 把 unsigned long 类型从网络序转换到主机序
    """

     可以使用help查看方法的属性

    socket中一些常用方法:

  • 相关阅读:
    Chrome V75V76新版无法存为mhtml格式解决办法
    RHEL7 的注册
    JQuery淡入淡出 banner切换特效
    怎样把小坚果做成大生意
    黄页前台联动菜单修改时不能显示,要重新选择|没样式
    V9任何页面GET调用内容分页的说明
    phpcms v9 自定义伪静态的分页函数
    phpcms v9 自定义分页 带下拉跳转
    discuz X2.5自己写代码,获取当前登录的用户信息
    discuz!X2.5技术文档
  • 原文地址:https://www.cnblogs.com/ssooking/p/5810959.html
Copyright © 2011-2022 走看看