• 大小: 226KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-10
  • 语言: Html/CSS
  • 标签: 天气  

资源简介

随手写的一个Winfrom小程序,首先获取本机的广域网的IP地址,再根据IP获取出所在城市,在根据城市获取出天气情况。我在网上看了好多关于获取外网IP的帖子,试了好多都获取不到外网的IP获取到是只是一段HTML代码,我在他们的基础上加了个webBrowser控件实现了这个功能,有兴趣的朋友可以下载看看

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Regularexpressions;
using System.Net;
using System.xml;
using System.IO;

using Flashado.framework;

namespace Flashado.Weather
{
/// 城市类
public class City
{
private const string __Url = “http://www.weather.com.cn/data/listinfo/city{0}.xml“;
/// 名称
public string Name { get; set; }
/// ID
public string ID { get; set; }
/// 城市xml路径
public static string _CityxmlPath = “WeatherCity.xml“;

private static CityxmlInfo[] _Citys=null;

public static CityxmlInfo[] Default{
get{
if (_Citys == null)
{
_Citys = Load(Path.GetFullPath(_CityxmlPath));
}
return _Citys;
}
}
public override string ToString()
{
return this.Name;
}
/// 获取城市类的集合
/// 城市类
public static City[] GetList()
{
return GetList(string.Empty);
}
/// 获取城市类的集合
/// 城市Id
/// 城市类
public static City[] GetList(string id)
{
var url = string.Format(__Url id);
using (WebClient wc = new WebClient())
{
wc.Encoding = Encoding.UTF8;
string str = wc.DownloadString(url);
List citys = new List();
var cs = str.Split(‘‘);
foreach (var c in cs)
{
var carr = c.Split(‘|‘);
citys.Add(new City()
{
ID = carr[0]
Name = carr[1]
});
}
return citys.ToArray();
}
}
        /// 
        /// 获取城市代码
        /// 

        /// 城市名称
        /// 城市代码
public static string GetCityCodeByName(string name){
var city=Default.FirstOrDefaultlInfo>(c=>c.Name==name);
if(city==null){
return string.Empty;
}
return city.Code;
}
private static string GetCityByIp(string regex string input)
{
var reg = new Regex(regex);
var match = reg.Matches(input);
if(match.Count==0){
return string.Empty;
}
return match[match.Count-1].Result(“$1“);
}
        /// 更具IP获取城市代码
        /// IP库地址
        /// IP地址
        /// 城市代码
public static string GetCityCodeByIp(string ipDataPathstring ip){
IPLocation.IPLocation.IPLocate(ipDataPathip);
var country = IPLocation.IPLocation.Country;
var regex = new Regex(“([^市省]+)市“);
var match=regex.Match(country);
var area=string.Empty;
var province = string.Empty;
var city = string.Empty;
var matCity = Regex.Matches(country “([^市省]+)市“);
var matArea = Regex.Matches(country “([^市省区]+)区“);
var matProvince = Regex.Matches(country “([^省]+)省“);
if(matArea.Count>0){
area = matArea[0].Result(“$1“);
}
if (matProvince.Count > 0

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-12-21 18:46  天气预报程序\
     目录           0  2013-12-21 12:36  天气预报程序\天气预报\
     文件        4867  2009-07-21 16:41  天气预报程序\天气预报\City.cs
     目录           0  2013-12-21 12:44  天气预报程序\天气预报\tianqi\
     文件        2972  2013-12-20 20:34  天气预报程序\天气预报\tianqi\app.config
     目录           0  2013-12-21 12:41  天气预报程序\天气预报\tianqi\bin\
     目录           0  2013-12-21 16:18  天气预报程序\天气预报\tianqi\bin\Debug\
     文件       20480  2006-12-16 00:23  天气预报程序\天气预报\tianqi\bin\Debug\IPLocation.dll
     文件       18432  2013-12-21 18:58  天气预报程序\天气预报\tianqi\bin\Debug\tianqi.exe
     文件        2972  2013-12-20 20:34  天气预报程序\天气预报\tianqi\bin\Debug\tianqi.exe.config
     文件       36352  2013-12-21 18:58  天气预报程序\天气预报\tianqi\bin\Debug\tianqi.pdb
     文件       11600  2013-12-21 18:58  天气预报程序\天气预报\tianqi\bin\Debug\tianqi.vshost.exe
     文件        2972  2013-12-20 20:34  天气预报程序\天气预报\tianqi\bin\Debug\tianqi.vshost.exe.config
     文件         490  2010-03-17 22:39  天气预报程序\天气预报\tianqi\bin\Debug\tianqi.vshost.exe.manifest
     目录           0  2013-12-20 21:46  天气预报程序\天气预报\tianqi\bin\Debug\weather\
     文件         460  2007-03-23 13:23  天气预报程序\天气预报\tianqi\bin\Debug\weather\0.gif
     文件         458  2007-03-23 13:23  天气预报程序\天气预报\tianqi\bin\Debug\weather\1.gif
     文件         404  2007-03-23 23:49  天气预报程序\天气预报\tianqi\bin\Debug\weather\10.gif
     文件         453  2007-03-23 23:49  天气预报程序\天气预报\tianqi\bin\Debug\weather\11.gif
     文件         460  2007-03-23 23:50  天气预报程序\天气预报\tianqi\bin\Debug\weather\12.gif
     文件         450  2007-03-23 23:50  天气预报程序\天气预报\tianqi\bin\Debug\weather\13.gif
     文件         440  2007-03-23 18:30  天气预报程序\天气预报\tianqi\bin\Debug\weather\14.gif
     文件         436  2007-03-23 18:30  天气预报程序\天气预报\tianqi\bin\Debug\weather\15.gif
     文件         453  2007-03-23 13:23  天气预报程序\天气预报\tianqi\bin\Debug\weather\16.gif
     文件         458  2007-03-23 23:50  天气预报程序\天气预报\tianqi\bin\Debug\weather\17.gif
     文件         366  2007-03-23 18:30  天气预报程序\天气预报\tianqi\bin\Debug\weather\18.gif
     文件         438  2007-03-23 23:50  天气预报程序\天气预报\tianqi\bin\Debug\weather\19.gif
     文件         420  2007-03-23 13:23  天气预报程序\天气预报\tianqi\bin\Debug\weather\2.gif
     文件         451  2007-03-23 23:51  天气预报程序\天气预报\tianqi\bin\Debug\weather\20.gif
     文件         434  2007-03-23 23:51  天气预报程序\天气预报\tianqi\bin\Debug\weather\21.gif
     文件         441  2007-03-23 23:51  天气预报程序\天气预报\tianqi\bin\Debug\weather\22.gif
............此处省略130个文件信息

评论

共有 条评论