欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Adobe Flex迷你教程 –Super easy获取ip所在城市

程序员文章站 2022-04-30 10:00:05
...
获取城市最大的问题是ip对应城市数据库,我们自己建这个数据库的话太麻烦。杂办呢,网上有很多可以根据ip查城市的网站,我们就用他们。首先找一个速度比较快的ip地址查询网站。我找的是 www.ipxxx.com(大家在源代码看吧,写出来成做广告了)。接下来确定三步


1. 看网站的结果是怎么得到的,经过观察发现上述网站是通过get查询,那就好办了。
2. 看看结果页面,因为网站不会给我们提供数据源的,所以我们要从结果页面找到我们想要的东西。上述网站的结果页面很干净,过滤很方便。
3. 确定它的首页没有版权信息说不准从外部直接访问某某页面。
OK,接下来就可以开始通过这个网站获取城市了,非常简单,不到10行代码。

1.创建一个到目标网站的HTTPService。
<mx:HTTPService method=”GET” resultFormat=”text” useProxy=”false” id=”ipGetter” url=”http://www.XXXX.com/ips.asp” result=”resultHandle(event)” fault=”faultHandle(event)” />


2.处理结果页面。
private function resultHandle(e:ResultEvent):void{
var contnet:String = e.result.toString()
var begIndex:int = contnet.indexOf(”省”)
var endIndex:int = contnet.indexOf(” “,begIndex)
if(begIndex <0){
begIndex = contnet.indexOf(”主数据:”)
endIndex = contnet.indexOf(” “,begIndex)
contnet = contnet.substring(begIndex+4,endIndex)
}else{
contnet = contnet.substring(begIndex+1,endIndex)
}
this.result.text =”结果是:”+contnet;
}


OK,这样很节约我们的资源吧,不过这种方法有可能会涉及到版权问题,大家在尝试别的网站的时候要注意。
不过因为受到安全沙箱的限制我们不能直接这么用,我们可以在我们的服务器端用相同的方法取得ip, flex直接获取数据就好
[img]http://www.flextheworld.com/wp-content/uploads/2009/01/address.png[/img]
相关标签: Adobe Flex