[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

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

相关文章推荐

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

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

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

《Python网络编程》Part1 打印设备名和IPv4地址 1、获取主机名和IP地址 .py: import socket def print_machine_info(): host_name...

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

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

Python网络编程:接口地址查询

在Linux系统中,我们可以通过ifconfig,route等shell命令来查看系统接口配置,网关和路由等信息。通过shell的正则表达式功能,通过系列复杂操作,我们可以从字符串中提取出相关的信息。...

《网络编程》IPv4 与 IPv6 相互操作

由于互联网终端不断增加,IPv4 地址长度(32位)已不能够满足要求,所以出现了 IPv6地址(128位),但是现有应用程序大部分还是采用 IPv4 地址形式,所以必须解决 IPv4 与 IPv6 之...

Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton函数

知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。 如果把210.25.132...
  • HEN_MAN
  • HEN_MAN
  • 2011年12月18日 14:59
  • 1016

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

UNIX网络编程---Ipv4与Ipv6的互操作性  从 从现在开始进入第三部分  高级套接字编程 一、概述 本章讨论IPV4应用进程和IPV6应用进程如何才能彼此通信。   IPV4服务...

UNXI网络编程笔记 第12章IPV4与IPV6的互操作性

IPv4客户与IPv6服务器: 地址转换是由服务器端处理的 假设服务器支持双协议栈,而且即有一个IPv4地址,由有一个IPv6地址。服务器绑定了IPv6的通配地址。此时IPv4客户端要与服务器...

UNIX网络编程笔记(8)—IPv4和IPv6互操作

UNIX网络编程笔记(8)—IPv4和IPv6互操作

Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结

知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式。英语叫做IPv4 numbers-and-dots notation。 如果把210.25.132.181...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[python&php 网络编程]格式化IPv4地址
举报原因:
原因补充:

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