ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

获取页面TDK信息

2021-12-24 17:34:21  阅读:170  来源: 互联网

标签:TDK website string strResult request 获取 new streamReader 页面


  /// <summary>
    /// 获取页面html文本
    /// </summary>
    /// <param name="url"></param>
    /// <returns></returns>
    public string GetRequestHtml(string url)
    {
        string strResult = string.Empty;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "GET";
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
        request.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
        request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36";
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        Stream streamReceive = response.GetResponseStream();
        StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8);
        strResult = streamReader.ReadToEnd();
        streamReader.Close();
        streamReader.Dispose();
        streamReader.Close();
        streamReader.Dispose();
        return strResult;
    }
public void GetTDKInfo(HttpContext context)
    {
        string website = DataConvert.ToString(context.Request["website"]);
        string resHtml = GetRequestHtml(website);
        TDKInfo info = new TDKInfo();
        Regex reg = new Regex("title>(.+)<");
        //获取title
        Match match = reg.Match(resHtml);
        info.title = match.Groups[1].Value;
        Regex reg1 = new Regex("description(.+)content=\"(\\S+)\"");
        //获取description
        Match match1 = reg1.Match(resHtml);
        info.description = match1.Groups[2].Value;
        Regex reg2 = new Regex("keywords(.+)content=\"(\\S+)\"");
        //获取keyword
        Match match2 = reg2.Match(resHtml);
        info.keyword = match2.Groups[2].Value;
        Regex reg3 = new Regex("applicable-device(.+)content=\"(\\S+)\"");
        //获取meta application-device是否包含mobile,是否可以移动端自适应
        Match match3 = reg3.Match(resHtml);
        string meta = match3.Groups[2].Value;
        if (!string.IsNullOrEmpty(meta))
        {
            info.isAdaptive = match3.Groups[2].Value.Contains("mobile");
        }
        WriteString(context, true, "", info);
    }

 



 

标签:TDK,website,string,strResult,request,获取,new,streamReader,页面
来源: https://www.cnblogs.com/wzf-Learning/p/15728298.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有