113 lines
3.0 KiB
C#
113 lines
3.0 KiB
C#
|
|
using System.Text;
|
|||
|
|
using Newtonsoft.Json;
|
|||
|
|
using Newtonsoft.Json.Linq;
|
|||
|
|
using RestSharp;
|
|||
|
|
|
|||
|
|
namespace IotManager.Common
|
|||
|
|
{
|
|||
|
|
public class BaiduAPI
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 百度api
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public static string GetBaiduIp(string ip)
|
|||
|
|
{
|
|||
|
|
string location = "";
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
string url = $"https://sp0.baidu.com";
|
|||
|
|
//WebClient client = new WebClient();
|
|||
|
|
RestSharp.RestClient client1 = new RestSharp.RestClient(url);
|
|||
|
|
RestSharp.RestRequest request = new RestSharp.RestRequest($"/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={ip}&co=&resource_id=6006&oe=utf8", Method.Get);
|
|||
|
|
var buffer = client1.DownloadData(request);
|
|||
|
|
//var buffer = client.DownloadData(url);
|
|||
|
|
string jsonText = Encoding.UTF8.GetString(buffer);
|
|||
|
|
JObject jo = JObject.Parse(jsonText);
|
|||
|
|
|
|||
|
|
Root root = JsonConvert.DeserializeObject<Root>(jo.ToString());
|
|||
|
|
foreach (var item in root.data)
|
|||
|
|
{
|
|||
|
|
location = item.location;
|
|||
|
|
}
|
|||
|
|
return location;
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
//Console.WriteLine(ex);
|
|||
|
|
return location;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
public class Root
|
|||
|
|
{
|
|||
|
|
public List<DataItem> data { get; set; }
|
|||
|
|
}
|
|||
|
|
public class DataItem
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string ExtendedLocation { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string OriginQuery { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string appinfo { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public int disp_type { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string fetchkey { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// 本地局域网
|
|||
|
|
/// </summary>
|
|||
|
|
public string location { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string origip { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string origipquery { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string resourceid { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public int role_id { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public int shareImage { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public int showLikeShare { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string showlamp { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
/// IP地址查询
|
|||
|
|
/// </summary>
|
|||
|
|
public string titlecont { get; set; }
|
|||
|
|
/// <summary>
|
|||
|
|
///
|
|||
|
|
/// </summary>
|
|||
|
|
public string tplt { get; set; }
|
|||
|
|
}
|
|||
|
|
}
|