1. 程式人生 > 實用技巧 >抖音無水印下載 C# 版本

抖音無水印下載 C# 版本

第一步

準備資源抖音短鏈,短鏈獲取如下2個步驟

拿到一段文字 如紅色文字

非常喜歡的@聶小雨 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 返回的格式資料,可以看到

得到的一個帶水印的連結

"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();
}

需要軟體的,直接聯絡我,自取,免費