通過air可以獲取本機物理網絡信息:
官方提供的示例代碼:
1.package
{
2.import flash.display.Sprite;
3.import flash.net.InterfaceAddress;
4.import flash.net.NetworkInfo;
5.import flash.net.NetworkInterface;
6.
7.public class GetAddress extends Sprite {
8.public function GetAddress() {
9.var networkInfo:NetworkInfo = NetworkInfo.networkInfo;
10.var interfaces:Vector.<NetworkInterface> = networkInfo.findInterfaces();
11.if(interfaces != null ) {
12.trace( "Interface count: " + interfaces.length );
13.for each ( var interfaceObj:NetworkInterface in interfaces ) {
14.trace( "\nname: " + interfaceObj.name );
15.trace( "display name: " + interfaceObj.displayName );
16.trace( "mtu: " + interfaceObj.mtu );
17.trace( "active?: " + interfaceObj.active );
18.trace( "parent interface: " + interfaceObj.parent );
19.trace( "hardware address: " + interfaceObj.hardwareAddress );
20.if( interfaceObj.subInterfaces != null ) {
21.trace( "# subinterfaces: " + interfaceObj.subInterfaces.length );
22.}
23.trace("# addresses: " + interfaceObj.addresses.length );
24.for each ( var address:InterfaceAddress in interfaceObj.addresses ) {
25.trace( " type: " + address.ipVersion );
26.trace( " address: " + address.address );
27.trace( " broadcast: " + address.broadcast );
28.trace( " prefix length: " + address.prefixLength );
29.}
30.}
31.}
32.}
33.}
34.}
還有個辦法就是 通過js 簡介獲取ip ,我以前是用js其調用其他ip接口
下面是我整理的幾個接口地址
騰訊的IP地址API接口地址:http://fw.qq.com/ipaddress
新浪的IP地址查詢接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js(還有json和xml格式)
新浪多地域測試方法:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=12.130.132.30
搜狐IP地址查詢接口(默認GBK):http://pv.sohu.com/cityjson
搜狐IP地址查詢接口(可設置編碼):http://pv.sohu.com/cityjson?ie=utf-8
搜狐另外的IP地址查詢接口:http://txt.go.sohu.com/ip/soip
這幾個個接口中,只有新浪接口下有crossdomain.xml文件,所以如果用AS3直接訪問的話,建議選擇新浪接口,不然會遇到安全沙箱哦!
import flash.net.InterfaceAddress;
import flash.net.NetworkInfo;
import flash.net.NetworkInterface;
var networkInfo:NetworkInfo = NetworkInfo.networkInfo;
var interfaces:Vector.<NetworkInterface> = networkInfo.findInterfaces();
if( interfaces != null )
{
for each ( var interfaceObj:NetworkInterface in interfaces )
{
for each ( var address:InterfaceAddress in interfaceObj.addresses )
{
trace( " type: " + address.ipVersion );
trace( " address: " + address.address );
}
}
}
2011-09-05 11:08 flash as3 xml 獲取用戶 ip 地址 //LoadXml---------------------------------------------------------
var LoadXML:XML = new XML();
var exxml:XML;//set variable exxml as xml data type
var loader:URLLoader = new URLLoader();//set variable loader as URLLLoader data type
var requestt:URLRequest=new URLRequest("http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx/getGeoIPContext");
//set variable requestt as URLRequest data type with parameter(location of the external xml file)
loader.load(requestt);
loader.addEventListener(Event.COMPLETE, image_num_fromXML_OnComplete);
//----------------------------------------------------------------------
function image_num_fromXML_OnComplete(event:Event):void {
loader.removeEventListener(Event.COMPLETE, image_num_fromXML_OnComplete);
exxml=new XML(loader.data);
var ns:Namespace=exxml.namespace()
var t:TextField=new TextField();
t.text=loader.data
t.x=100
t.y=100
t.width=1000
t.height=1000
addChild(t)
trace(exxml.ns::string[0])
txt.text= "你的ip是"+exxml.ns::string[0]+"你來自" +exxml.ns::string[1]
}
以下是js獲取本地ip及mac地址的代碼(網上多的是):
<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
document.forms[0].txtMACAddr.value=unescape(MACAddr);
document.all.txtIPAddr.value=unescape(IPAddr);
document.forms[0].txtDNSName.value=unescape(sDNSName);
//document.formbar.submit();
</SCRIPT>
<SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
IPAddr = objObject.IPAddress(0);
if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
sDNSName = objObject.DNSHostName;
}
</SCRIPT>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY>
<OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
<OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
<SCRIPT language=JScript>
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</SCRIPT>
<FORM id=formfoo name=formbar action=NICPost.asp method=post><INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr> <INPUT value=58.245.184.191 name=txtIPAddr> <INPUT value=typ name=txtDNSName> </FORM></BODY></HTML>
as3獲取本地IP
import flash.net.InterfaceAddress;
import flash.net.NetworkInfo;
import flash.net.NetworkInterface;
var networkInfo:NetworkInfo = NetworkInfo.networkInfo;
var interfaces:Vector.<NetworkInterface> = networkInfo.findInterfaces();
if( interfaces != null )
{
for each ( var interfaceObj:NetworkInterface in interfaces )
{
for each ( var address:InterfaceAddress in interfaceObj.addresses )
{
trace( " type: " + address.ipVersion );
trace( " address: " + address.address );
}
}
}
Flash COOKIE 技術 一早就知道flash中有cookies技術
但今天才真正接近它。。
以下是轉載:
筆者將本文分爲2個部分爲大家講解如何利用Flash Cookie實現遊戲存檔技術
第一部分:語法講解;
第二部分:注意事項;
本文開發環境 Flash8.0 AS 2.0
第一部分:語法講解:
Flash主要是利用SharedObject類實現本地存儲信息(類似Cookie,下文用Cookie代替),在AS調用如下圖:
SharedObject 類用於在用戶計算機上讀取和存儲有限的數據量。共享對象提供永久貯存在用戶計算機上的對象之間的實時數據共享。
用法:
創建Cookie
複製內容到剪貼板代碼://實例化一個SharedObject對象FlashCookie,名爲:CookieNameQQX
//如果CookieNameQQX不存在則創建該Cookie,如果存在則讀取
var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX");
//定義一個Cookie變量UserName並賦值爲:千秋學
FlashCookie.data.UserName = "千秋學";
FlashCookie.data.Sex = "男";
FlashCookie.data.Life = 100;
//可以存儲數組數據
var Score_array:Array = new Array(80,90,99,70,84);
FlashCookie.data.Score = Score_array;
//寫入Cookie
FlashCookie.flush();
刪除Cookie:
複製內容到剪貼板代碼:var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX");
FlashCookie .clear();
讀取Cookie值
複製內容到剪貼板代碼:var FlashCookie:SharedObject = SharedObject.getLocal("CookieNameQQX");
trace(FlashCookie.data.UserName);
trace(FlashCookie.data.Score[0]);
第二部分:注意事項:
1、 Flash Cookie技術依賴於本地設置
有時可能不允許 SWF 文件寫入本地共享對象,有時可能在您不知情的情況下刪除在本地共享對象中存儲的數據。Flash Player 用戶可以管理對單個域或所有域可用的磁盤空間。當用戶降低可用磁盤空間量時,一些本地共享對象可能會被刪除。
2、 Flash Player 用戶還具有隱私控件,它們可防止第三方域(當前瀏覽器地址欄中域之外的域)讀取或寫入本地共享對象。
例如:C:\no1.swf 創建了一個名爲aa的Cookie,該Cookie將不會被C:\no2.swf所獲取;也就是說C:\no1.swf與C:\no2.swf所創建的Cookie,即使名字相同也不會互相影響;同樣的道理,基於網絡的flash文件,http://www.tg02.com/no1.swf 創建的Cookie也不會被其它文件網絡文件所訪問。
3、 Flash Cookie文件存儲在本地文件夾
C:\Documents and Settings\電腦用戶\Application Data\Macromedia\Flash Player\#SharedObjects
4、Flash Cookie可以被修改以及被訪問.