/// <summary> /// 通过IP得到IP所在地省市 /// </summary> /// <param name="ip"></param> /// <returns></returns> public static string GetAddressByIP(string ip) { string res = String.Empty; try { string url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=" + ip; HttpItem item = new HttpItem { Url = url, Method = "POST", Accept = "application/json", ContentType = "application/x-www-form-urlencoded" }; HttpHelper helper = new HttpHelper(); //得到请求结果 string result = helper.GetHtml(item).Html; result = ConvertUnicode2Chinese(result); IPAddressItem addressItem = result.JsonToEntity <IPAddressItem>(); if (addressItem != null) { //{ "ret":1,"start":"115.28.0.0","end":"115.29.255.255","country":"中国","province":"北京","city":"北京","district":"","isp":"电信","type":"机房","desc":"中国万网机房电信"} res = addressItem.country.ToString() + addressItem.province.ToString() + addressItem.city.ToString(); } } catch (Exception) { res = ""; } return(res); }
public IPAdapterHeader(IPAddressItem item) { Id = item.InterfaceId; Name = item.InterfaceName; Description = item.InterfaceDescription; IsUp = item.IsUp; }
public override object ProvideValue(IServiceProvider serviceProvider) { var addrViewSource = new CollectionViewSource(); addrViewSource.GroupDescriptions.Add(new IPAddressGroupDescription()); addrViewSource.Source = AddressFamily.HasValue ? IPAddressItem.GetAll(AddressFamily.Value, Loopback) : IPAddressItem.GetAll(); return(addrViewSource.View); }
private void UpdateIPAddressesB(int sel_idx) { netAddressesB.Items.Clear(); try { NetworkInterfaceItem itemB = netIntfBCombo.SelectedItem as NetworkInterfaceItem; NetworkInterface netB = itemB.NetIntf; IPInterfaceProperties propB = netB.GetIPProperties(); //carico gli indirizzi dell'interfaccia B foreach (UnicastIPAddressInformation ip in propB.UnicastAddresses) { if (ip.Address.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork) { continue; } IPAddressItem item = new IPAddressItem(); item.IpAddress = ip; netAddressesB.Items.Add(item); } } catch { MessageBox.Show("Errore nel caricamento degli indirizzi relativi all'interfaccia B"); return; } try { netAddressesB.SelectedIndex = sel_idx; } catch { if (netAddressesB.Items.Count > 0) { netAddressesB.SelectedIndex = 0; } } }