C# 中如何对网页文件获取其名称与扩展名并下载保存至本地?

当获取网页文件保存至本地时,有一点很疑惑,正如很多文件的链接地址并不是这个文件的直链(比如:xxx.com/xx/aa_b_3_cc 这种的链接),那这种非直链的文件链接在对其下载保存的时候要怎么知道其原始的文件名与其扩展名呢?

wget
curl

这个没法知道,现在大部分都有路由机制。或者nginx 转发等等。或者url重写。但是返回来的都是html文本内容。
除非你知道后端的路径规则,和后端服务程序