抖音无水印下载 C# 版本

第一步

 准备资源抖音短链,短链获取如下2个步骤

抖音无水印下载 C# 版本抖音无水印下载 C# 版本

拿到一段文本 如红色文字

  非常喜欢的@聂小雨  https://v.douyin.com/JyqF2s1/ 复制此链接,打开抖音,直接观看视频!

把分享中链接取出来 https://v.douyin.com/JyqF2s1/

 第二步

 这个短链,其实重新定向到一个网址

https://www.iesdouyin.com/share/video/6881540720075803904/?region=CN&mid=6717874153346566925&u_code=4mcd3fg17c9&titleType=title&utm_source=copy_link&utm_campaign=client_share&utm_medium=android&app=aweme

页面内部调用一个api 拿到视频的信息

  1. Request URL:

    https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6881540720075803904

  2. Request Method:

    GET

 根据这个url 返回的格式数据,可以看到

抖音无水印下载 C# 版本

 得到的一个带水印的链接

"https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0d00fb90000bu029idmpp6rfc0cgqhg&ratio=720p&line=0"

第三步 就是下载视频了

 把上面得到的视频链接去掉红色部分,也就是wm 即可。

"https://aweme.snssdk.com/aweme/v1/play/?video_id=v0d00fb90000bu029idmpp6rfc0cgqhg&ratio=720p&line=0"

 

 

下面奉献部分工具类型代码,需要自取

获取冲向url

/// <summary>
        /// 获取页面重定向url
        /// </summary>
        /// <param name="url"></param>
        /// <param name="referer"></param>
        /// <param name="cookie"></param>
        /// <returns></returns>
        public static string GetRedirectUrl(string url, string referer = "", string cookie = "")
        {
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "HEAD";
                req.Referer = referer;
                req.AllowAutoRedirect = false;
                if (cookie.Length > 0)
                {
                    req.Headers.Add("Cookie:" + cookie);
                }
                req.UserAgent = "ua";
                WebResponse response = req.GetResponse();
                return response.Headers["Location"];
            }
            catch (Exception e)
            {
           
                return null;
            }
        }

/// <summary>
        /// HTTP GET方式请求数据.
        /// </summary>
        /// <param name="url">URL.</param>
        /// <returns></returns>
        public static string HttpGet(string url)
        {
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
            request.Method = "GET";
            //request.ContentType = "application/x-www-form-urlencoded";
            request.Accept = "*/*";
            request.Timeout = 10000;
            request.AllowAutoRedirect = false;
            request.UserAgent = "ua";
            WebResponse response = null;
            string responseStr = null;

            try
            {
                response = request.GetResponse();

                if (response != null)
                {
                    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                    responseStr = reader.ReadToEnd();
                    reader.Close();
                }
            }
            catch (Exception)
            {

            }
            finally
            {
                request = null;
                response = null;
            }

            return responseStr;
        }

 ///下载视频流

        public static void DownLoad_Video(string url,string name)
        {
            string pathUrl = url;
            System.Net.HttpWebRequest request = null;
            System.Net.HttpWebResponse response = null;
            
            //请求网络路径地址
            request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(pathUrl);
            request.Timeout = 5000; // 超时时间
                                    //获得请求结果
            request.UserAgent = "ua";
            response = (System.Net.HttpWebResponse)request.GetResponse();
            //文件下载地址
            string path = System.IO.Directory.GetCurrentDirectory() + @"\temp";

            // 如果不存在就创建file文件夹
            if (!Directory.Exists(path))
            {
                if (path != null) Directory.CreateDirectory(path);
            }
            path = path + "/"+name+".mp4";
            Stream stream = response.GetResponseStream();
            //先创建文件
            Stream sos = new System.IO.FileStream(path, System.IO.FileMode.Create);
            byte[] img = new byte[1024];
            int total = stream.Read(img, 0, img.Length);
            while (total > 0)
            {
                //之后再输出内容
                sos.Write(img, 0, total);
                total = stream.Read(img, 0, img.Length);
            }
            stream.Close();
            stream.Dispose();
            sos.Close();
            sos.Dispose();
        }

需要软件的,直接联系我,自取,免费