热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

免费天气插件asp版本

天气信息来源:中国天气网【weather.com.cn】 根据QQ[http://fw.qq.com:80/ipaddress]得到ip地址和所在城市信息, 然后调用we




天气信息来源:中国天气网【weather.com.cn】


根据QQ[http://fw.qq.com:80/ipaddress]得到ip地址和所在城市信息,


然后调用weather.com.cn网站的xml得到城市代码,就可以得到JSON格式的天气信息


setWeather函数可以自行修改生成您想要的天气信息格式




效果如下:


免费天气插件asp版本




Weather.asp


<%codepage=936%>
<%
'***********************************************************
' 文件名: 免费天气插件asp版本,仅适用于中国用户
' 版本: mmWeather1.0
' 作者: 走过四季
' 电子邮件: maomaoysq@sohu.com
' 日期: 2010年01月14日
' 功能: 根据用户的ip地址自动获取所在城市的天气信息
' 声明:
' 本代码可以自由使用,但请保留此版权声明信息
' 如果您对本代码进行修改增强,
' 请发送一份给俺。
'**********************************************************
dim cityid,city1,city2,tmpHtml,tmpArr,tLevel,weaXML,weaHTML
tLevel = 0
weaXML = "http://service.weather.com.cn/plugin/"
weaHTML = "http://m.weather.com.cn/data/"
cityid = Trim(Request.COOKIEs("wea_cityid"))
if cityid = "" then
tmpHtml = GetUrlBody("http://fw.qq.com:80/ipaddress","gb2312")
tmpHtml = BytesToBstr(tmpHtml,"gb2312")
if tmpHtml = "" then
Response.Write("Error:Can't get ip address from qq.com.")
end if
tmpArr = Split(tmpHtml,",")
Response.COOKIEs("wea_cityip") = tmpArr(0)
city1 = tmpArr(2)
city2 = tmpArr(3)
city1 = Replace(city1,"省","")
city1 = Replace(city1,"市","")
city1 = Replace(city1,"""","")
city2 = Replace(city2,");","")
if Trim(city2) = "" then
city2 = city1
else
city2 = Replace(city2,"市","")
city2 = Replace(city2,"自治区","")
end if
city2 = Replace(city2,"""","")
'call getCityCode(city2)
if cityid = "" then
call getLocalCity("data/city.xml",0)
end if
else
call getWeather(cityid)
end if
function getLocalCity(ByVal tUrl,ByVal tLevel)
dim iPos,iPos1,cid,cArr
tmpHtml = GetUrlBody(weaXML & tUrl,"")

iPos = InStr(tmpHtml,city1)
iPos1 = InStr(tmpHtml,city2)
if tLevel<3 then
if iPos>0 then
tmpHtml = Left(tmpHtml,iPos-1)
iPos = InStrRev(tmpHtml,",")
tmpHtml = Right(tmpHtml,len(tmpHtml)-iPos)
cid = Replace(tmpHtml,"|",""):
elseif iPos1>0 then
tmpHtml = Left(tmpHtml,iPos1-1)
iPos = InStrRev(tmpHtml,",")
tmpHtml = Right(tmpHtml,len(tmpHtml)-iPos)
cid = Replace(tmpHtml,"|",""):
end if
call getLocalCity("data/city" & cid & ".xml",tLevel+1)
else
cid = Split(tmpHtml,"|")(1)
call getWeather(cid)
end if
end function
function getWeather(ByVal cid)
Response.COOKIEs("wea_cityid") = cid
tmpHtml = GetUrlBody(weaHTML & cid & ".html","")
if tmpHtml="" then
Response.Write("Error:Nothing is from "&weaHTML & cid & ".html")
else
Response.Write("")
end if
end function
Function BytesToBstr(body,Cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
Public Function GetUrlBody(ByVal URL,ByVal CharSet)
On Error Resume Next
Set Http = Server.CreateObject("MICROSOFT.XMLHTTP")
Http.Open "GET", URL, False
Http.Send
If Http.Readystate = 4 Then
If Http.Status = 200 Then
if CharSet="gb2312" then
GetUrlBody = Http.responseBody
else
GetUrlBody = Http.responseText
end if
End If
End If
End Function
%>








  





免费天气插件asp版本




推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 邮件(带附件,模拟文件上传,跨服务器)发送核心代码1.测试邮件发送附件接口***测试邮件发送附件*@parammultipartFile*@return*@RequestMappi ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 三星W799在2011年的表现堪称经典,以其独特的双屏设计和强大的功能引领了双模手机的潮流。本文详细介绍其配置、功能及锁屏设置。 ... [详细]
  • 在API测试中,我们常常需要通过大量不同的数据集(包括正常和异常情况)来验证同一个接口。如果为每种场景单独编写测试用例,不仅繁琐而且效率低下。采用数据驱动的方式可以有效简化这一过程。本文将详细介绍如何利用CSV文件进行数据驱动的API测试。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
author-avatar
行者05965
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有