ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C# 搜狗链接网址转换为真实网址

2021-02-07 16:03:01  阅读:398  来源: 互联网

标签:搜狗 newUrl string C# text request sogou 网址 链接


一、问题:

当我们拿到百度某个链接时,显示的是一个链接https://www.sogou.com/link?url=xxx,跳转后的链接是:https://baike.sogou.com/xxx

  例:

    原链接:https://www.sogou.com/link?url=DOb0bgH2eKjRiy6S-EyBciCDFRTZxEJg9BcDwvTo02r26FDhCNBXEOt74PAtEBpptz5XqOoFKPCt5pUc3zy0dg..

    跳转后的链接:https://baike.sogou.com/v7677690.htm?fromTitle=text%28%29

这里我们需要得到跳转后的链接,此方法也可用于360搜索链接转换

二、代码

添加Nuget:HtmlAgilityPack程序包

引用:using HtmlAgilityPack;

        public static string ResultOfApi(string url)
        {
            //发送请求
            HttpWebRequest request = null;
            HttpWebResponse response = null;
            request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "Get";
            request.ContentType = "application / x - www - form - urlencoded";
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36";
            request.Accept = "text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp,image / apng,*/*;q=0.8";
            request.KeepAlive = true;
            //获取响应
            response = (HttpWebResponse)request.GetResponse();
            Stream S = response.GetResponseStream();
            StreamReader streamreader = new StreamReader(S);
            string result = streamreader.ReadToEnd();
            response.Close();
            //加载源代码,获取文档对象
            var doc = new HtmlDocument(); doc.LoadHtml(result);
            string text_XPath = @"/script[1]";
            var text_list = doc.DocumentNode.SelectSingleNode(text_XPath);
            string newUrl = text_list.InnerHtml.Substring(text_list.InnerHtml.IndexOf('"') + 1);
            newUrl = newUrl.Remove(newUrl.LastIndexOf('"'));return newUrl;
        }

标签:搜狗,newUrl,string,C#,text,request,sogou,网址,链接
来源: https://www.cnblogs.com/duhaoran/p/14385536.html

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

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

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

ICode9版权所有