查询天气预报的Webservice接口程序源代码

使用webservice技术实现天气预报实时查询(Visual Studio) 使用webservice技术实现天气预报实时查询(开发工具:Visual Studio) 阅读详情

<%@ WebService Language="c#" Class="WeatherWS.GetChinaWeather" %>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Net;
using System.Text;
using System.IO;
using System.Web;
using System.Web.Services;

namespace WeatherWS
{
 /// <summary>
 /// GetChinaWeather 的摘要说明。
 /// </summary>
 [WebService(Namespace="http://flying.redv.com/monster")]
 public class GetChinaWeather : System.Web.Services.WebService
 {
  public GetChinaWeather()
  {
   //CODEGEN: 该调用是 ASP.NET Web 服务设计器所必需的
   InitializeComponent();
  }

  #region 组件设计器生成的代码
  
  //Web 服务设计器所必需的
  private IContainer components = null;
    
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
  }

  /// <summary>
  /// 清理所有正在使用的资源。
  /// </summary>
  protected override void Dispose( bool disposing )
  {
   if(disposing && components != null)
   {
    components.Dispose();
   }
   base.Dispose(disposing);  
  }
  
  #endregion

  [WebMethod(Description="中国各城市(县)天气预报获取服务,可接受一字符串参数(可选的查询方式:·国内城市(县)全名·字首拼音缩写·电话区号·邮政编码,如查询徐州的天气情况可输入'徐州'或'xz'作为参数)")]
  public DataSet getWeather(string strCity)
  {
   DataSet dsWeather = new DataSet();
   try
   {
    const int maxDay=5;
    string []time = new string[maxDay];//存储日期,从今天开始算起
    string []weather = new string[maxDay];//保存天气情况数据
    string []max = new string[maxDay];//保存最高温度数据
    string []min = new string[maxDay];//保存最低温度数据
    string []wind = new string[maxDay];//保存风向数据

    //发送一个post请求到index.jsp页面以获取城市数据
    Uri uri = new Uri("http://www.weathercn.com/forecastn/forcast/index.jsp?searchname="+System.Web.HttpUtility.UrlEncode(strCity,System.Text.Encoding.GetEncoding("GB2312")));
    WebRequest wreq=WebRequest.Create(uri);
  
    HttpWebResponse wresp=(HttpWebResponse)wreq.GetResponse();
  
    string HTML ="";

    Stream s=wresp.GetResponseStream();
  
    StreamReader objReader = new StreamReader(s,System.Text.Encoding.Default);
    HTML=objReader.ReadToEnd();
    if(HTML==null||HTML=="")
     return dsWeather;

    HTML = HTML.ToLower();//全部转换为小写
    if(HTML==null||HTML=="")
     return dsWeather;
    int head,tail,i;
    //查找城市数据 如果没有找到 则返回一个空的dataset
    head = HTML.IndexOf("查询结果:",0);
    head = HTML.IndexOf("station_name=",head);
    if(head==-1)
    {
     return dsWeather;
    }
    head = HTML.IndexOf("station_name=",head+1);
    tail = HTML.IndexOf("'",head);
    string strCityData = HTML.Substring(head,tail-head);//城市数据获取
    string href = "http://www.weathercn.com/forecastn/forcast/forecastDetail.jsp?"+strCityData;
    //根据城市数据去查询天气情况
    
    wreq=WebRequest.Create(href);
    wresp=(HttpWebResponse)wreq.GetResponse();
  
    HTML ="";
    s=wresp.GetResponseStream();
  
    objReader = new StreamReader(s,System.Text.Encoding.Default);
    HTML=objReader.ReadToEnd();
    if(HTML==null||HTML=="")
     return dsWeather;
    HTML = HTML.ToLower();//全部转换为小写
    
    DateTime dtNow = new DateTime();
    dtNow = DateTime.Today;//获取系统当前日期
    dtNow = dtNow.Subtract(TimeSpan.Parse("1"));
    for(i=0;i<maxDay;i++)
    {
     dtNow = dtNow.Add(TimeSpan.Parse("1"));
     time[i] = dtNow.ToShortDateString();//日期数据
    }
    
    //获取天气情况数据,总共maxDay天的数据
    String date = DateTime.Now.Year.ToString()+"年"+DateTime.Now.Month.ToString()+"月";//当前年月
    head = HTML.IndexOf(date,0);
    head = HTML.IndexOf("<tr>",head);
    for(i=0;i<maxDay;i++)
    {
     head = HTML.IndexOf("<td",head);
     head = HTML.IndexOf("<img",head);
     head = HTML.IndexOf("/",head);
     head = HTML.IndexOf("/",head+1);
     tail = HTML.IndexOf("_",head);
     weather[i] = HTML.Substring(head+1,tail-head-1);
     head = HTML.IndexOf("</td>",head);
    }

    //获取近maxDay天温度数据,包括最高温度和最低温度
    for(i=0;i<maxDay;i++)
    {
     head = HTML.IndexOf("max",head);
     head = HTML.IndexOf(">",head);
     tail = HTML.IndexOf("<",head);
     max[i] = HTML.Substring(head+1,tail-head-1);//最高温度

     head = HTML.IndexOf("min",head);
     head = HTML.IndexOf(">",head);
     tail = HTML.IndexOf("<",head);
     min[i] = HTML.Substring(head+1,tail-head-1);//最低温度
    }

    //最近maxDay天的风向数据
    head = HTML.IndexOf("<tr",head);
    for(i=0;i<maxDay;i++)
    {
     head = HTML.IndexOf("class",head);
     head = HTML.IndexOf(">",head);
     tail = HTML.IndexOf("<",head);
     wind[i] = HTML.Substring(head+1,tail-head-1);//风向数据
    }

    //将数据填充到DataSet中去
    DataTable dtWeather = new DataTable();
    dtWeather.Columns.Add("日期");
    dtWeather.Columns.Add("天气");
    dtWeather.Columns.Add("最高温度");
    dtWeather.Columns.Add("最低温度");
    dtWeather.Columns.Add("风力风向");
    for(i=0;i<maxDay;i++)
    {
     DataRow drWeather = dtWeather.NewRow();
     drWeather["日期"] = time[i];
     drWeather["天气"] = weather[i];
     drWeather["最高温度"] = max[i];
     drWeather["最低温度"] = min[i];
     drWeather["风力风向"] = wind[i];
     dtWeather.Rows.Add(drWeather);
    }
    dsWeather.Tables.Add(dtWeather);
    dsWeather.AcceptChanges();

    return dsWeather;

   }
   catch(Exception e)
   {
    //DO Something
    return dsWeather;
   }
  }
 }
}

WebService实例实现天气预报等 简单实例实现天气预报的功能    1.了解WebService工作        服务端 查询数据库中用户功能            新建一个Dynamic Web Project            编写一个带有查询用户方法的接口,并写好实现类。            @WebService public interface WebServiceInterfaceTest { User q... 阅读详情

相关推荐

通过调用webservice实现查询天气预报系统

MainActivity package com.example.weather; import java.net.MalformedURLException; import java.net.URL; import org.ksoap2.serialization.SoapObject; import weatherforecast.soap.SoapUtil; impo

HuiHappy124的专栏 889

vue 项目 web端如何实现天气预报1

自动定位天气信息 1.拿到当前电脑ip 2.高德接口获取ip的地址 3.通过和风天气获取城市id 4.通过id获取实时天气 高德API:https://lbs.amap.com/api/webservice/guide/api/ipconfig 和风天气:https://dev.qweather.com/docs/api/weather/weather-now/ 拿到当前IP 一、在index.js里引入 <script src="http://pv.sohu.com/cityjson

JKC_HOWL的博客 990

天气预报webserver源代码

天气预报webserver源代码

webservice 天气预报的接口

下面是在学习webService时整理的一些琐碎: package cn.com.snxun.util; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLCo

懒惰的小肥肥的博客 1165

asp.net调用百度天气ApI获取天气

asp.net调用百度天气ApI获取天气,可指定任意城市获取未来3天的天气情况。

html获取天气预报

含有天气预报开源库和对应的css样式,以及自己写的示例代码

JavaWeb+Servlet+jsp实现天气预报实时查询系统

博客目录JavaWeb天气预报实时查询系统实现功能截图系统功能使用技术代码写在最后 JavaWeb天气预报实时查询系统 本系统简单的实现了基于http://www.webxml.com.cn/天气网站的未来5天的实时天气查询。 实现功能截图 系统功能 本天气预报系统实现了以下功能: 1、全国各省市的数据展示 2、今天天气情况展示 3、未来5天目标城市的天气情况 使用技术 数据库:无(存储使用了XML) 开发工具:Eclipse(Myeclispe、Idea也可以) 知识点:servlet、jsp、XML

anmu4200的博客 3820

ASP.NET程序中使用Yahoo的天气RSS实现天气预报功能源代码

这是一个VB.NET作为后台语言的ASP.NET程序,集成了AJAX功能,实现yahoo的天气预报的RSS的调用,最终通过页面展示当前的天气情况。

.NET 查询天气预报的Webservice接口程序源代码

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Net; using System.Text; using System.IO; using System.Web; using

1964

ASP.NET的实时天气及24小时天气预报(C#) 包含原代码

ASP.NET的实时天气及24小时天气预报(C#) 包含原代码

ASP.net(c#)打造24小时天气预报及实时天气

本文详细介绍关于ASP.NET的实时天气及24小时天气预报 修改其中的url获得其他城市的天气情况的文章专题。 ASP.NET的实时天气及24小时天气预报(C#)  修改其中的url获得其他城市的天气情况  如广州为:  http://weather.yahoo.com /forecast/CHXX0037_c.html  注意仅适用于获得yahoo上的天气预报 GetWeather.aspx  ———————————–   代码如下:<%@ Page language=”c#” Codebehind=”GetWeather.aspx.cs” AutoEventWireup=”false” I

免费的天气预报webservice接口

免费的天气预报webservice接口

qq_43685588的博客 1415

C++实战指南:使用CodeBlocks构建跨平台wxWidgets窗口应用

本文是一份面向C++初学者的实战指南,详细介绍了如何使用CodeBlocks IDE和wxWidgets框架快速构建跨平台的桌面窗口应用。内容涵盖从环境搭建、项目配置到界面设计、事件处理的全流程,重点讲解了如何利用CodeBlocks的开箱即用支持和wxSmith可视化设计器,高效开发具有按钮、菜单、列表等控件的交互式窗口界面程序,帮助读者轻松入门GUI开发。

weixin_29012677的博客 154

Python调用WebService服务 查询天气预报

使用suds库调用WebService进行手机归属地和天气预报查询

XerCis的博客 1100

别再调参了!用Simulink手把手教你搞定FOC电机速度环PI控制器(附模型下载)

本文详细介绍了如何使用Simulink搭建FOC电机速度环PI控制器,通过模最优准则和系统化调试方法,避免传统手动调参的繁琐过程。文章包含从传递函数推导到参数自动整定的完整流程,并提供了实战调试技巧与异常处理指南,帮助工程师快速实现电机控制系统的稳定运行。

weixin_42519985的博客 415

国密证书实战:在CentOS 7上构建GmSSL私有CA与完整证书链

本文详细介绍了在CentOS 7操作系统上,使用GmSSL工具构建私有国密证书颁发机构(CA)与完整证书链的实战指南。内容涵盖从部署GmSSL、创建国密根CA、签发服务器与客户端证书,到生产环境安全加固与最佳实践的全流程,旨在帮助系统管理员和安全工程师建立统一、可控的内部国密安全通信体系。

jenkins8butler的博客 496

免费的webservice接口 天气预报/IP查询/股票查询/手机归属地等

免费的webservice接口 天气预报/IP查询/股票查询/手机归属地等

jfdfhh的博客 634

Python+Seaborn可视化:双因素方差分析结果这样呈现更专业

本文详细介绍了如何利用Python中的Seaborn和statsmodels库,专业地执行并可视化双因素方差分析结果。通过模拟实验数据,演示了从模型构建、统计检验(包括交互作用分析)到诊断验证的全流程。重点展示了如何使用Seaborn绘制交互效应图、组合分布图及热图,将复杂的统计结果转化为直观、富有洞察力的可视化图表,助力科研论文与商业报告的专业呈现。

weixin_29274969的博客 137

android调用webservice实现天气预报查询

运用android调用webservice实现天气预报查询,实现效果如下图: 首先,实现页面设计,weathersearch.xml中的代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_w

刘玲琳 1414

机器学习初探——用线性回归预测股价趋势

在进入代码之前,先建立一个大框架。类型一句话解释金融中的应用监督学习给机器“标准答案”让它学预测股价(历史数据→未来价格)无监督学习不给答案,让机器自己找规律把相似股票自动归类、发现异常交易强化学习让机器通过“试错”学习最优策略AI自动交易、量化策略优化我们现阶段只学“监督学习”——这是最常用、最容易上手的。准备一堆“特征”和对应的“标签”(比如:历史的第N天 → 那天的价格)喂给机器一个“算法”(比如线性回归)机器“拟合”出一个规律(比如找到一条最合适的直线)

109

SQL注入详解

SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。 从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。 即:注入产生的原因是后台服务器接收相关参数未经过滤直接带入数据库查询...

渗透之路,攻防之间皆学问 26万+
上一篇: session
下一篇: AJAX技术汇总
Awinye
博客等级 码龄22年 13粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值