package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.NetworkInfo;
import flash.net.NetworkInterface;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.system.System;
import flash.text.TextField; public class GetMacTest extends Sprite
{
private var _ipLdr:URLLoader = new URLLoader();
private var _macText:TextField = new TextField();//此网络接口的硬件地址。mac地址
private var _adressText:TextField = new TextField();//Internet 协议 (IP) 地址。
private var _broadcastText:TextField = new TextField();//本地网络段的广播地址。
private var _ipVersionText:TextField = new TextField();//IP 地址类型(IPv4 或 IPv6)。
private var _prefixLengthText:TextField = new TextField();//此地址的前缀长度。
private var _displayNameText:TextField = new TextField();//此网络接口的显示名称。
private var _nameText:TextField = new TextField();//此网络接口的名称
private var _startText:TextField = new TextField();//
private var _endText:TextField = new TextField();
private var _countryText:TextField = new TextField();//所在国家
private var _provinceText:TextField = new TextField();//所在省
private var _cityText:TextField = new TextField();//所在市
public function GetMacTest()
{
if(stage) init();
else addEventListener(Event.ADDED_TO_STAGE,init);
}
private function init(e:Event=null):void
{
flash.system.System.useCodePage=true;
_macText.autoSize = "left";
_adressText.autoSize = "left";
_broadcastText.autoSize = "left";
_ipVersionText.autoSize = "left";
_prefixLengthText.autoSize = "left";
_displayNameText.autoSize = "left";
_nameText.autoSize = "left";
_startText.autoSize = "left";
_endText.autoSize = "left";
_countryText.autoSize = "left";
_provinceText.autoSize = "left";
_cityText.autoSize = "left"; this.addChild(_macText);
this.addChild(_adressText);
this.addChild(_broadcastText);
this.addChild(_ipVersionText);
this.addChild(_prefixLengthText);
this.addChild(_displayNameText);
this.addChild(_nameText);
this.addChild(_startText);
this.addChild(_endText);
this.addChild(_countryText);
this.addChild(_provinceText);
this.addChild(_cityText);
for(var i:int = 0;i<this.numChildren;i++){
this.getChildAt(i).x = 30;
this.getChildAt(i).y = 70+i*20;
}
_ipLdr.addEventListener(Event.COMPLETE,onIpComplete); getIP();
getInfo(); } private function getIP():void
{
_ipLdr.load(new URLRequest("http://int.dpool.sina.com.cn/iplookup/iplookup.php"));
}
private function getInfo():void
{
var ni:NetworkInfo = NetworkInfo.networkInfo;
var nInterfaces:Vector.<NetworkInterface> = ni.findInterfaces();trace(nInterfaces.length);
var i:int=0;
while (!nInterfaces[i].active || nInterfaces[i].hardwareAddress == "" || nInterfaces[i].hardwareAddress == "00-00-00-00-00-00-00-E0") {
i++;trace("i:",i);
}
for (var j:int = 0; j < nInterfaces.length; j++ ) {
trace("j:", j, nInterfaces[j].hardwareAddress);
if (nInterfaces[j].active && nInterfaces[j].hardwareAddress != "" && nInterfaces[j].hardwareAddress != "00-00-00-00-00-00-00-E0") {
trace("j:", j, nInterfaces[j].hardwareAddress);
}
} _macText.text = "此网络接口的硬件地址(mac):"+nInterfaces[i].hardwareAddress;
_adressText.text = "Internet 协议 (IP) 地址:"+nInterfaces[i].addresses[0].address;
_broadcastText.text = "本地网络段的广播地址:"+nInterfaces[i].addresses[0].broadcast;
_ipVersionText.text = "IP 地址类型(IPv4 或 IPv6):"+nInterfaces[i].addresses[0].ipVersion;
_prefixLengthText.text = "此地址的前缀长度:"+nInterfaces[i].addresses[0].prefixLength;
_displayNameText.text = "此网络接口的显示名称:"+nInterfaces[i].displayName;
_nameText.text = "此网络接口的名称:"+nInterfaces[i].name;
}
private function onIpComplete(e:Event):void
{
trace(e.currentTarget.data as String);
if (e.type=="complete") {
trace("getIp success");
//var myip:String = (e.currentTarget.data as String).split("\"")[9];trace("myip:",myip);//"http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json"
var arr:Array = (e.currentTarget.data as String).split(" ");
for(var i:int = 0;i<arr.length;i++){
trace(arr[i]);
}
_startText.text = "start:"+arr[1];
_endText.text = "end:"+arr[2];
_countryText.text = "county:"+arr[3];
_provinceText.text = "province:"+arr[4];
_cityText.text = "city:"+arr[5]; } else {
trace("getIp failed");
}
}
}
}

[As3.0] 获取本机信息的更多相关文章

  1. Docker容器获取宿主机信息

    最近在做产品授权的东西,开始宿主机为Window,程序获取机器硬件信息相对简单些,后来部署时发现各种各样的的环境问题,所有后来改用dokcer部署,docker方式获取宿主机信息时花了些时间,特此记录 ...

  2. Win CE 6.0 获取手持机GPS定位2----示例代码 (C#)

    一.须知 1.手持机(PDA)必须有GPS模块,才能通过代码使用串口通信获取GPS相关信息 2.要清楚自己手持机(PDA)固定的GPS通信串口号,如我们公司的手持机获取GPS信息的串口为COM4 3. ...

  3. Magicodes.WeiChat——使用OAuth 2.0获取微信用户信息

    使用Magicodes.WeiChat,可以很方便的获取到微信用户的信息.在使用OAuth 2.0之前,你先需要做以下操作: 1)在开发者中心修改[网页授权获取用户基本信息],在弹出的界面输入自己的根 ...

  4. Win CE 6.0 获取手持机GPS定位1----基础知识 (C#)

    一.GPS全球定位系统的组成 (1)GPS卫星(空间部分) 由沿接近环形的地球轨道运行的24颗卫星组成,位于距地表20200千米的高空,均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角55度.此外, ...

  5. [ActionScript 3.0] AS3.0 获取文本的明暗度

    /** * 获取文字的明暗值 * @param t 文字 * @return Number */ function getDensity(t:String):Number { var ttf:Text ...

  6. [ActionScript 3.0] AS3.0 获取像素点的灰度

    /** * 获取像素点的灰度 * @color 像素点的颜色值 * @return uint */ function getGray(color:uint):uint { return getR(co ...

  7. Linux中获取本机网络信息的几个函数及应用

    一.读取/etc/hosts 几个函数 头文件<netdb.h> 1.void sethostent(int stayopen);//开打/etc/hosts 配置文件 2.struct ...

  8. 微信公众平台开发—利用OAuth2.0获取微信用户基本信息

    在借鉴前两篇获取微信用户基本信息的基础下,本人也总结整理了一些个人笔记:如何通过OAuth2.0获取微信用户信息 1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url ...

  9. 获取本机CPU,硬盘等使用情况

    早上的时候接到主管的一个任务,要获取服务器上的cpu,硬盘, 数据库等 的使用情况,并以邮件的方式发给boss, = =没办法,公司的服务器真是不敢恭维,顺便吐槽一下公司的网速,卡的时候30k左右徘徊 ...

随机推荐

  1. Codeforces 709B 模拟

    B. Checkpoints time limit per test:1 second memory limit per test:256 megabytes input:standard input ...

  2. 21个ui设计技巧,让你的设计不落伍

    1.功能性极简主义 不少移动端APP和网站开始基于极简主义设计风来设计,而极简主义本身并非关注所有的信息,而是通过减少非关键信息来突出特定的内容,它是有着极强的功能性和偏向的.它有着如下的特征: ・简 ...

  3. [ Laravel 5.5 文档 ] 底层原理 —— 一次 Laravel 请求的生命周期

     Posted on 2018年3月5日 by  学院君 简介 当我们使用现实世界中的任何工具时,如果理解了该工具的工作原理,那么用起来就会得心应手,应用开发也是如此.当你理解了开发工具如何工作,用起 ...

  4. yii2 ActiveRecord的生命周期

    AR的生命周期 http://www.yii-china.com/doc/guide/db_active_record.html 理解AR的生命周期对于你操作数据库非常重要.生命周期通常都会有些典型的 ...

  5. 浅谈OCR之Tesseract

    光 学字符识别(OCR,Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程.OCR技术非常专业,一般多是印刷.打印 ...

  6. MATLAB矩阵的一些用法

    1.怎样去提取和修改矩阵中的一个元素. (1)创建一个矩阵 >> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16]A =     1     2     ...

  7. 使用百度webuploader实现大文件上传

    版权所有 2009-2018荆门泽优软件有限公司 保留所有权利 官方网站:http://www.ncmem.com/ 产品首页:http://www.ncmem.com/webapp/up6.2/in ...

  8. 批量远程执行shell命令工具

    使用示例(使用了默认用户root,和默认端口号22): ./mooon_ssh --h=192.168.4.1,192.168.4.2 -P=password -c='cat /etc/hosts' ...

  9. EF学习笔记-CODE FIRST-约定

    首先EF对关系数据库的映射遵循如下规则: Fluent API 配置 override 数据注释 override 约定 System.Data.Entity.ModelConfiguration.C ...

  10. Breaseman算法绘制圆形|中点算法绘制圆形_程序片段

    Breaseman算法绘制圆形|中点算法绘制圆形_程序片段 1. Breaseman算法绘制圆形程序 由于算法的特殊性,限制绘制第一象限部分,其他部分通过旋转绘制. void CCGProjectWo ...