代码查询IP地址如下:
using System; using System.Linq; using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Text; using System.Net; using System.Net.Http; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using System.IO; namespace DTcms.Web.api.ipcheck { /// <summary> /// ipcheck 的摘要说明 /// </summary> public class ipcheck : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string cip = context.Request["cip"]; if (string.IsNullOrEmpty(cip)) { context.Response.Write("[{\"code\":\"1\",\"msg\":\"请先输入ip或者域名!\"}]"); } else//如果输入了 在判断是ip还是域名 { string ipstring = ""; try { IPAddress ip; if (IPAddress.TryParse(cip, out ip)) ipstring = ip.ToString(); else ipstring = Dns.GetHostEntry(cip).AddressList[0].ToString(); } catch (Exception) { //throw new Exception("IP Address Error"); context.Response.Write("[{\"code\":\"1\",\"msg\":\"您输入的域名或ip错误!\"}]"); return; } string r = "[" + getIP(ipstring) + "]"; JArray json = (JArray)JsonConvert.DeserializeObject(r); //JObject o = (JObject)ja[0]; //this.message.Text = "您查询的ip是:" + o["data"]["ip"] + ",国家:" + o["data"]["country"] + ",区域:" + o["data"]["area"] + ",城市:" + o["data"]["city"] + ",服务提供商:" + o["data"]["isp"]; context.Response.Write(json); } } public string getIP(string ip) { var postData = new Dictionary<string, string> { {"ip",ip} }; var url = "http://localhost/api/ipcheck/ipapi.ashx"; var urlEncodedContent = new FormUrlEncodedContent(postData); var httpClient = new HttpClient(); var result = httpClient.PostAsync(url, urlEncodedContent).Result.Content.ReadAsStringAsync().Result; return result; } public bool IsReusable { get { return false; } } } } ipapi.ashx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState; using System.Net.Http; using Newtonsoft.Json; using Newtonsoft.Json.Converters; namespace DTcms.Web.api.ipcheck { /// <summary> /// ipapi 的摘要说明 /// </summary> public class ipapi : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //context.Response.Write("Hello World"); string ip = context.Request["ip"]; var postData = new Dictionary<string, string> { {"ip",ip} }; var url = "http://ip.taobao.com/service/getIpInfo.php"; var urlEncodedContent = new FormUrlEncodedContent(postData); var httpClient = new HttpClient(); var result = httpClient.PostAsync(url, urlEncodedContent).Result.Content.ReadAsStringAsync().Result; context.Response.Write(result); } public bool IsReusable { get { return false; } } } } 接口地址: /api/ipcheck/ipcheck.ashx HTTP请求方式: POST/GET 响应代码: json ajax请求: $.ajax({ type: "POST", url: "/api/ipcheck/ipcheck.ashx", data: { cip: $("#searchip").val() }, dataType: "json", beforeSend: function () { }, complete: function () { }, success: function (d) { alert("查询结果:" + JSON.stringify(d)); } })
返回查询结果:
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4