答えはノーだと思いますが....WebClientを使用してHEADメソッドを送信し、ヘッダーを文字列などとして返す方法はありますか?
10225 次
3 に答える
27
あなたは正しいですWebClientはこれをサポートしていません。この機能が必要な場合は、HttpWebRequestを使用して、メソッドをHEADに設定できます。
System.Net.WebRequest request = System.Net.WebRequest.Create(uri);
request.Method = "HEAD";
request.GetResponse();
于 2010-07-16T21:50:06.660 に答える
18
もう1つの方法は、WebClientから継承し、GetWebRequest(URIアドレス)をオーバーライドすることです。
public class ExWebClient : WebClient
{
public string Method
{
get;
set;
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest webRequest = base.GetWebRequest(address);
if (!string.IsNullOrEmpty(Method))
webRequest.Method = Method;
return webRequest;
}
}
于 2012-10-12T15:41:03.337 に答える
4
私が要求するほとんどのWebサーバーは、この方法を受け入れます。ただし、すべてのWebサーバーがそうするわけではありません。たとえば、IIS6はリクエストメソッドSOMETIMESを尊重します。
これは、メソッドが許可されていない場合に返されるステータスコードです...
catch (WebException webException)
{
if (webException.Response != null)
{
//some webservers don't allow the HEAD method...
if (((HttpWebResponse) webException.Response).StatusCode == HttpStatusCode.MethodNotAllowed)
ありがとう、マイク
于 2012-09-19T15:55:21.697 に答える