C# 取消在PuppeterSharp中下载
我需要检查文件大小是否超过给定的大小,取消下载 这是我的C# 取消在PuppeterSharp中下载,c#,puppeteer,puppeteer-sharp,C#,Puppeteer,Puppeteer Sharp,我需要检查文件大小是否超过给定的大小,取消下载 这是我的启动选项: var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true, ExecutablePath = ChromePath, IgnoreHTTPSErrors = true, Args = new[] { "--disable-extensions" } }); 在这里,我做了更多的工
启动选项
:
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
ExecutablePath = ChromePath,
IgnoreHTTPSErrors = true,
Args = new[] { "--disable-extensions" }
});
在这里,我做了更多的工作:
await page.Client.SendAsync("Page.setDownloadBehavior", new
{
behavior = "allow",
downloadPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
});
await page.SetRequestInterceptionAsync(true);
page.Request += (s, er) =>
{
if (er.Request.Headers.ContainsKey("Content-Length") && Convert.ToInt64(er.Request.Headers["Content-Length"]) > GIVENSIZE)
{
er.Request.AbortAsync();
return;
}
}
有两个问题,--disable extensions
将不起作用,internet下载管理器将弹出以下载文件,并且请求不包含内容长度
标头,以便我检查文件大小
有什么想法吗?尝试将URL/域添加到。它将忽略下载请求。也许你可以通过一些涉及TCP包的低级操作来获得校验和,然后同样找到大小。Internet下载管理器就是一个例子,如果我禁用它,chrome本身将下载文件。我需要通过检查文件大小来取消下载。