资源简介
随手写的一个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个文件信息
相关资源
- html5飞行射击游戏《天机》源码
- 模仿天猫前端
- html仿照QQ聊天
- html5选择当地城市天气预报代码.zip
- HTML5雨滴滑落动画及天气预报代码
- 天猫静态页面
- STM32F767+lwip+freertos 通过网页API获取天
- web即时聊天系统.zip
- 仿天猫静态html
- 基于html5的简单聊天室
- 天天生鲜 前后台资源
- Qt实现微信气泡聊天效果
- 天猫静态 前端html
- TianMao.rar
- 三天仿写京东页面
- 天猫,京东网站.zip
- Qt局域网聊天工具
- websocket 聊天室146392
- Mht格式QQ聊天记录mht转Html格式
- 2020北京+天津 前端面试问题.docx
- 一个仿QQ的纯js+html5的聊天界面 完整
- js+html 日历和天气预报
- h5仿qq聊天页面 图灵机器人api接入
- 移动端在线聊天HTML效果
- html5聊天,仿照微信界面
- html5+css3 聊天系统界面
- 八爪鱼规则分享 批量采集城市7日天气
- 25175 QQ强制聊天系统
- html5+css+mui chat聊天窗口聊天气泡 调
- 基于html5+css3实现的精美聊天界面dem
评论
共有 条评论