[python&php 网络编程]格式化IPv4地址

原创 2015年11月19日 17:48:20

1.python写法

import socket
from binascii import hexlify

def convert_ip4_address():
    for ip_addr in ['127.0.0.1', '192.168.0.1']:
        packed_ip_addr = socket.inet_aton(ip_addr)
        unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)
        print "IP Address: %s => Packed: %s, Unpacked: %s" %(ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr)

if __name__ == '__main__':
    convert_ip4_address()

2.php写法

<?php

function convert_ip4_address(){
    foreach(array('127.0.0.1', '192.168.0.1') as $ip_addr){
        $packed_ip_addr = ip2long($ip_addr);
        $unpacked_ip_addr = long2ip($packed_ip_addr);
        printf("IP Address: %s => Packed: %s, Unpacked: %s\n", $ip_addr, bin2hex(pack('N', $packed_ip_addr)), $unpacked_ip_addr);
    }
}

convert_ip4_address();

inet_aton()是一个改进的方法来将一个字符串IP地址转换为一个32位的网络序列IP地址。

inet_ntoa()是将一个IP转换成一个互联网标准点分格式的字符串。

但这两个函数php都没有对应的现成函数,我只好这么干了,可以看到做法慢慢复杂了,性能自然没法和python比~

转载请标注原文地址:http://blog.csdn.net/ddjohn/article/details/49930573

版权声明:本文为博主原创文章,未经博主允许不得转载。

输入一个IP地址,判断该IP地址是IPv4,还是IPv6类地址

【题目】 输入一个IP地址,判断该IP地址是IPv4,还是IPv6类地址。                 使用正则表达式。 class Solution{ privat...
  • noaman_wgs
  • noaman_wgs
  • 2016年11月17日 19:26
  • 2414

网络编程:Socket编程从IPv4转向IPv6支持

目前运行主流的IT系统中,用于解决分布式系统内部模块及不同的系统间通信的一种主要的解决方案就是使用套接字Socket来开发应用。由于当前大部分正在运行的IT系统中使用套接字Socket开发环境基本上都...
  • Blaider
  • Blaider
  • 2014年10月09日 11:22
  • 5159

IP/IPV4地址格式 子网掩码 [李园7舍_404]

1 IPV4地址格式 Internet中的每一个网络具有自己独一无二的数值地址----网络地址。   为了方便人们的使用,对机器友好的二进制地址转变为人们更熟悉的十进制地址。IP地址中的每一个8...
  • misskissC
  • misskissC
  • 2013年06月11日 15:41
  • 2896

Linux网络编程基础---IPV4地址

Linux网络编程基础---IPV4地址
  • csdnxmj
  • csdnxmj
  • 2017年12月07日 11:11
  • 24

Python网络编程 4.2 IPv6简介与现代地址解析--getaddrinfo()方法的使用

IPv6是一个地址族,与IPv4的AF_INET类似的,其地址族为AF_INET6。这将是未来的主流地址族,可以防止IP地址被耗尽的情况。同时IPv6协议对链路层安全等很多特性提供了更加完整的支持。I...
  • MustangJy
  • MustangJy
  • 2017年12月11日 17:47
  • 64

Windows网络编程学习笔记(2) IPV4地址协议编程

本章将介绍Windows下Winsock网络编程IPV4地址协议编程相关的内容,包括SOCKADDR_IN结构体,SOCKADDR结构体已经两者的区别, IP地址结构体,字节顺序以及如何转换,并给出如...
  • Raito__
  • Raito__
  • 2016年05月11日 20:42
  • 1019

《Python网络编程》Part1 Socket、IPv4和简单的客户端/服务器编程

《Python网络编程》Part1 打印设备名和IPv4地址 1、获取主机名和IP地址 .py: import socket def print_machine_info(): host_name...
  • sinat_24206709
  • sinat_24206709
  • 2016年11月17日 16:32
  • 698

《Python网络编程》Part4 IPv6、Unix域套接字和网络接口

《Python网络编程》Part4 IPv6、Unix域套接字和网络接口 1、把本地端口转发到远程主机         有时,你需要创建一个本地端口转发器,把本地端口发送的流量全部重定向到特定的远程主...
  • sinat_24206709
  • sinat_24206709
  • 2016年12月28日 10:31
  • 993

网络编程中常见地址结构与转换(IPv4/IPv6)

网络编程中常见地址结构与转换(IPv4/IPv6) 1. sockaddr/sockaddr_in/in_addr (IPv4)、sockaddr6_in/in6_addr/addr...
  • szq2k08
  • szq2k08
  • 2017年07月20日 10:08
  • 122

UNIX网络编程--Ipv4与Ipv6的互操作性(十二)

UNIX网络编程---Ipv4与Ipv6的互操作性  从 从现在开始进入第三部分  高级套接字编程 一、概述 本章讨论IPV4应用进程和IPV6应用进程如何才能彼此通信。   IPV4服务...
  • yusiguyuan
  • yusiguyuan
  • 2013年09月20日 22:24
  • 1370
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[python&php 网络编程]格式化IPv4地址
举报原因:
原因补充:

(最多只允许输入30个字)