抖音无水印下载 C# 版本
第一步
准备资源抖音短链,短链获取如下2个步骤
拿到一段文本 如红色文字
非常喜欢的@聂小雨 https://v.douyin.com/JyqF2s1/ 复制此链接,打开抖音,直接观看视频!
把分享中链接取出来 https://v.douyin.com/JyqF2s1/
第二步
这个短链,其实重新定向到一个网址
页面内部调用一个api 拿到视频的信息
-
Request URL:
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6881540720075803904
-
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();
}
需要软件的,直接联系我,自取,免费