Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取消在PuppeterSharp中下载_C#_Puppeteer_Puppeteer Sharp - Fatal编程技术网

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本身将下载文件。我需要通过检查文件大小来取消下载。