热门标签 | 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版本




推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 基于Axis、XFire、CXF的webservice客户端调用示例
    本文介绍了如何使用Axis、XFire、CXF等工具来实现webservice客户端的调用,以及提供了使用Java代码进行调用的示例。示例代码中设置了服务接口类、地址,并调用了sayHello方法。 ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
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社区 版权所有