只看楼主 楼主

本主题由 kevin.luo.sl 于2008-11-18 11:06:00 执行移动主题 (查看更多)
没事露一露,提高知名度——艾睿我看贴我回贴宣言(支持 / 反对)

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

看了Moon和Grubby两场比赛。看的很爽,写点有意思的,用javascript可以获取本地ip,这个我就先不说了,我说说怎么能通过ip获取城市,能获取城市的话用处就比较大了,比如......

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

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

OK,接下来就可以开始通过这个网站获取城市了,非常简单,不到10行代码。

1.创建一个到目标网站的HTTPService。



2.处理结果页面。

//结果是一个完整的HTML页面,我们从中找到需要的部分
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,这样很节约我们的资源吧,不过这种方法有可能会涉及到版权问题,大家在尝试别的网站的时候要注意




不过这样会有安全沙箱问题,毕竟那些网站不会有跨域设置,所以这是一个思路,可以用相同的道理写php的代码,flex只管取结果就好了。


原文: http://www.flextheworld.com/?p=23
[本帖最后由 koalacui 于 2009-03-24 16:55:04 编辑]

(您是游客)您没有权限查看附件

kevin.luo.sl的签名

评分

举报 使用道具 TOP

只看该用户 沙发!

Re:Adobe Flex迷你教程 --Super easy获取ip所在城市

牛人啊。
AdobeHitler的签名
Flex Builder 3中文教程:http://molebiology.blog.163.com/

评分

举报 使用道具 TOP

只看该用户 板凳

Re:Adobe Flex迷你教程 --Super easy获取ip所在城市

不错,很有想法

评分

举报 使用道具 TOP

只看该用户 地板

牛人

评分

举报 使用道具 TOP

只看该用户 #4

太牛了

评分

举报 使用道具 TOP

只看该用户 #5

太熟了

评分

举报 使用道具 TOP

只看该用户 #6

谢谢LZ分享

评分

举报 使用道具 TOP

只看该用户 #7

很实用啊。。。

评分

举报 使用道具 TOP

只看该用户 #8

又学习了。多谢楼主。我也喜欢看魔兽争霸的比赛,但是自己很菜。呵呵

评分

举报 使用道具 TOP

只看该用户 #9

不错啊。收藏

评分

举报 使用道具 TOP