返回列表 回复 发帖

引用yahoo天气预报源文件(28日更新)

有一位兄弟问了几天了,其实天气预报的程序闪吧里有一些,不过有些不能用了。
本来答应这位兄弟下午传上来的,但我们这儿网络瘫痪了半天,失信于人,唉……
测试地址:http://wuwulong.136.tofor.com/tianqi.swf
要实现在网络上用flash引用天气预报关键是跨网站访问的问题,这就必须用到asp或php中转。(我的swf和asp不是在同一个网站)
基本功能:
1、直接显示你所在地的天气2、搜索全国(世界)城市的天气信息。
基本思路如下:
1、首先要获得访问者的IP,再通过这个IP获得访问者所在的城市。
    asp中有一句可以获得IP,某些网站提供通过IP搜索地名。
2、把获得的地名传给http://weather.cn.yahoo.com/weather.html?city=获得天气信息,再对这些信息进行处理显示。
    不过传给的地名要通过这个函数转换一下escape(),比如"北京"转换后得到的是"%E4%B8%8A%E6%B5%B7",否则不能查找。
注意:把源文件中asp和那个解决跨域问题的xml传到自己的空间就行了,swf传另外的其它空间也可以,fla中的tianqiurl=后面的换成你的asp所在的空间地址。

27日更新:
1、根据ip找地名改用百度的了,又快又准。(怎么先把它给忘了)
2、加入了一些特殊情况的判断,如自治区、直辖市、特别行政区,这次全国各地的访问者都应该能显示了吧。

28日更新:
“哈尔滨”出问题了,竟然不能显示这么大城市的天气信息,原来是发送数据的方式不行,先前用的是
mytian.Load(tianqiurl+"yahooqi.asp?city="+cityName+"&rd="+random(8888))
改为:
mytian.city=escape(cityName);mytian.rd=random(8888);
mytian.sendAndLoad(tianqiurl+"yahooqi.asp", mytian, "POST")
就OK了,原来的方式发送出去时会丢数据,flash发送“escape(哈尔滨)”asp接收时就变成了“哈尔”,所以大家以后也尽量用sendAndLoad发送数据。
(源文件已更新)
这次应该没别的问题了吧,特别感谢yuzhian兄弟提出的bug。

[ 本帖最后由 gongjinglong 于 2007-1-28 09:11 编辑 ]

天气.rar (16.32 KB)

万分感谢,测试成功!

比我要找的功能强的多,显示到访者IP所在地的天气,太棒了!

不知道为什么本地IIS测试通不过,卡巴报为UNKNOW下载木马病毒,上传到空间后一切正常,还是好心人多。 赞一个!

[ 本帖最后由 duox2 于 2007-1-26 13:18 编辑 ]
原帖由 gongjinglong 于 2007-1-26 10:57 发表
有一位兄弟问了几天了,其实天气预报的程序闪吧里有一些,不过有些不能用了。
本来答应这位兄弟下午传上来的,但我们这儿网络瘫痪了半天,失信于人,唉……
呵呵,下午我们那也瘫了,搬家。。。三个月搬两回了
刚才出现

抱歉,暂无“数据正在更新.......”的天气信息,请尝试使用上一级城市名

不知道是不是因为我是CDMA上网太卡的原因。
不知会有哪些bug,如果发现请提交详细情况,这样才能完美些。
cdma上网?没想到 这种情况。不知这样的IP地址会获得怎样的城市名。

[ 本帖最后由 gongjinglong 于 2007-1-26 22:14 编辑 ]
北京 CDMA
更新了一下,这次自治区、直辖市、特别行政区、CDMA都应该没问题了吧。
感谢~!~!
谢谢兄弟!我也下载了学习.
很好,我也需要找这个东西,谢谢啊!
这个太棒了  借用到我网页上了` `
谢谢
我想请问楼主,怎么做成支持英文搜索天气?先谢啊,帮帮忙。
回楼上:http://weather.cn.yahoo.com不支持英文天气搜索,不过http://weather.yahoo.com/支持,你如果完全只要英文的天气服务,可以自己改一下源文件,但这个英文网页好像没有天气图标,而且搜不到国内的小城市。
谢谢gongjinglong 回复,我只是要全英文的天气服务,主要是在国外使用的,所以部分国内小城市搜索不了没关系.我是新手不知道需要修改那部分,你有没有时间帮我改一下?或者你告诉我怎么改我自己试改改。是直接将yaohuqi.asp里的地址替换就可以了吗?谢谢啊!

[ 本帖最后由 loki8 于 2007-2-3 07:07 编辑 ]
好东东...!收藏了.
还以为是用了WSDL的呢...
原来是....!呵呵...
回16楼:这几天特别忙,不好意思啊,雅虎的英文天气搜索没有图标,你不找雅虎的也可以找找其它支持英文天气搜索的网站,原理是一样的。
不知steamlin的“呵呵”是什么意思啊?什么WSDL?我是菜鸟,不懂的,我只知道功能上是实现了,别的我可不管。
gongjinglong 如果我换成这个行不?http://www.weather.net/
要不要使用到城市代码?请指点下,谢谢啊!
我看了你提供的网站,是不是只能搜美国的呀,有没有更好的?要改的的话必须要改flash源文件,因为调用的页面内容不同。
原理都是一样的。
gongjinglong 我找到更好的再给你看看,目前只找到这个了。比较全的会相对少些。不过还是谢谢你热心的回答哈:P
不行的就用那个了,应付着先。
楼主!!顶你一个!!!

谢谢楼主

嘿嘿,谢了,找了好久的喔.

急着用,希望知道的大侠帮帮忙

楼主啊,那个天气的图标好大啊,能不能变成QQ里面的那种图标呀?(急着用)
那图标是直接调用yahoo的吧,等楼主回来看看怎么说。
帖子沉得快啊,回来顶顶.
图标是引用yahoo的,可以自己控制图标的大小,自己改导入框的大小
我现在放假在家,很少有时间上网.
谢谢楼主分享!

http://wuwulong.136.tofor.com/

这个程序也是你开发的吗?

真厉害~~

有问题想请教哟

你的压缩包里的ASP文件我放到别的空间上http://www.571400.net/hubao/yubao/zhaodi.asp

显示就没有百度的页面了!

请问这是哪出了问题呢
  LH8版主(请让我这么称呼你),您知道吗?那个播放器就是看了您以前做的一个搜索百度音乐的播放器后开始做的呀,我当时什么也不懂,就把您的播放器破解了(请原谅),后来我就一直做这个播放器,才有了现在这个样子。所以,我真的要叫您一声老师!谢谢了!
  关于您提出的不能在您的网页显示百度页面的问题,我想这个您应该能找到原因的,不知放在别的目录行不行,也许是您的asp空间不支持读取别的网页。
哇嘎嘎,我那时只写着玩玩,没想到兄弟你做这个功能强大多啦~~向你学习学习啦~~

http://www.aoksc.com/aoksc.html

这个是你们做的吗?你美工程序都好了得哇~~


你有QQ吗?想加你呢~~
那个网站不是我做的,主要设计是极品色彩,美工也是他的,我在这方面根本没什么进步。
我的AS也是自己在那里瞎摸,很多都不懂,这绝不是谦虚,有机会还要向您请教呢。
我的QQ31342610
返回列表