我需要检测特定URL上的一种内容类型。因此,我创建了一种方法来获取响应的 Content-Type。对于小文件和HTML页面,它没有问题,但如果URL指向一个大文件,则请求会花费很长时间 - 它会在后台获取整个内容(文件)。那么,在接收到 Content-Type
标头之后,有可能取消请求并立即返回结果吗?
我的当前实现:
public async static Task<string> GetContentType(string url)
{
try
{
using (HttpClient client = new HttpClient())
{
var response = await client.GetAsync(url);
if (!response.IsSuccessStatusCode)
{
return null;
}
return response.Content.Headers.ContentType.MediaType;
}
}
catch (HttpRequestException)
{
return null;
}
}
Content-Type
。其次,我检查了HttpClient
是否有一个带有HTTP方法参数的Get
重载(但错过了另一种方法)。无论如何,其他问题回答了这个问题(即使它使用了不同的类型)。 - Richard