第十节:OA权限管理系统(爬虫获取IP所在地)

Nuget:HtmlAgilityPack

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;

namespace OYW.OA.API.Controllers
{
    /// <summary>
    /// IP操作
    /// </summary>
    [Route("api/[controller]")]
    [ApiController]
    public class IPController : ControllerBase
    {
        /// <summary>
        /// 获取IP所在地
        /// </summary>
        /// <param name="ip">127.0.0.1</param>
        /// <returns></returns>
        [HttpGet]
        public ActionResult<string> GetIPLocation(string ip)
        {
            if (string.IsNullOrEmpty(ip))
            {
                return default(string);
            }
            string url = $"http://ip.chinaz.com/{ip}";
            HtmlAgilityPack.HtmlWeb htmlWeb = new HtmlAgilityPack.HtmlWeb();
            HtmlAgilityPack.HtmlDocument htmlDocument = htmlWeb.Load(url);
            var addressNode = htmlDocument.DocumentNode.SelectNodes("//span[@class='Whwtdhalf w50-0']").LastOrDefault();
            return addressNode.InnerHtml;
        }
    }
}
发布了128 篇原创文章 · 获赞 18 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/xiaoxionglove/article/details/80874257
今日推荐