/// <summary>
/// 获取客户端外网IP,省份,城市,运营商
/// 2012年12月18日 15:07
/// </summary>
public class GetOutMessage
{
/// <summary>
/// 获取全部信息
/// </summary>
/// <returns>一段网页代码</returns>
private static string getOutMessage()
{
WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultCredentials;
client.Headers.Set("User-Agent", "Microsoft Internet Explorer");
client.Encoding = System.Text.Encoding.Default;
string response = client.UploadString("http://iframe.ip138.com/ipcity.asp", "");
Match mc = Regex.Match(response, @"location.href=""(.*)""");
response = client.UploadString(mc.Groups[1].Value, "");
return response;
}
/// <summary>
/// 外网IP
/// </summary>
/// <returns>外网IP地址</returns>
public static string getOutIp()
{
string response = getOutMessage();
int i = response.IndexOf("[") + 1;
string ip = response.Substring(i, 14);
string ips = ip.Replace("]", "").Replace(" ", "");
return ips;
}
/// <summary>
/// 省份
/// </summary>
/// <returns>省份</returns>
public static string getOutProvince()
{
string response = getOutMessage();
int i = response.IndexOf("自") + 2;
string province = response.Substring(i, response.IndexOf("省") - i + 1);
return province;
}
/// <summary>
/// 城市
/// </summary>
/// <returns>城市</returns>
public static string getOutCity()
{
string response = getOutMessage();
int i = response.IndexOf("省") + 1;
string city = response.Substring(i, response.IndexOf("市") - i + 1);
return city;
}
/// <summary>
/// 运营商
/// </summary>
/// <returns>运营商</returns>
public static string getOutProvider()
{
string response = getOutMessage();
int i = response.IndexOf("市") + 2;
string provider = response.Substring(i, 2);
return provider;
}
}