san*_*084 4 c# asp.net response request httpwebrequest
我需要检查网址内容类型是否为pdf?我有一个工作代码,但我想知道什么是最好的方式来检查我有什么.我不需要显示pdf,只需要检查内容类型是否为pdf? 注意:此方法将使用不同的url多次调用,因此我不确定是否需要关闭响应.
这是我的代码.
private bool IsValid(string url)
{
bool isValid = false;
var request = (HttpWebRequest)WebRequest.Create(url);
var response = (HttpWebResponse)request.GetResponse();
if(response.StatusCode == HttpStatusCode.OK && response.ContentType == "application/pdf")
{
isValid = true;
}
response.Close();
return isValid;
}
Run Code Online (Sandbox Code Playgroud)
是的,因为你没有通过response你需要处理的任何地方.您还应该捕获WebException并从那里处理流(我也希望处理响应甚至请求将关闭所有相关资源,但遗憾的是我从未见过确认Response对象的级联处置行为的文档).
您还需要关闭/处置请求,因为它是一次性使用对象.它在GetResponse的注释中指定:
对GetResponse的多次调用返回相同的响应对象; 请求不会重新发布.
附注:考虑发出HEAD请求,因此根本不会获得任何流(请参阅Method属性以了解用法).
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "HEAD";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1341 次 |
| 最近记录: |