HttpWebRequest.IfModifiedSince プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
If-Modified-Since
HTTP ヘッダーの値を取得または設定します。
public:
property DateTime IfModifiedSince { DateTime get(); void set(DateTime value); };
public DateTime IfModifiedSince { get; set; }
member this.IfModifiedSince : DateTime with get, set
Public Property IfModifiedSince As DateTime
プロパティ値
If-Modified-Since
HTTP ヘッダーの内容を含む DateTime。
例
次のコード例では、IfModifiedSince プロパティを確認します。
// Create a new 'Uri' object with the mentioned string.
Uri^ myUri = gcnew Uri( "http://www.contoso.com" );
// Create a new 'HttpWebRequest' object with the above 'Uri' object.
HttpWebRequest^ myHttpWebRequest = dynamic_cast<HttpWebRequest^>(WebRequest::Create( myUri ));
// Create a new 'DateTime' object.
DateTime targetDate = DateTime::Now;
// Set a target date of a week ago
targetDate.AddDays(-7.0);
myHttpWebRequest->IfModifiedSince = targetDate;
try
{
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse^ myHttpWebResponse = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse());
Console::WriteLine( "Response headers \n {0}\n", myHttpWebResponse->Headers );
Stream^ streamResponse = myHttpWebResponse->GetResponseStream();
StreamReader^ streamRead = gcnew StreamReader( streamResponse );
array<Char>^readBuff = gcnew array<Char>(256);
int count = streamRead->Read( readBuff, 0, 256 );
Console::WriteLine( "\nThe contents of Html Page are : \n" );
while ( count > 0 )
{
String^ outputData = gcnew String( readBuff,0,count );
Console::Write( outputData );
count = streamRead->Read( readBuff, 0, 256 );
}
streamResponse->Close();
streamRead->Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse->Close();
Console::WriteLine( "\nPress 'Enter' key to continue................." );
Console::Read();
}
catch ( WebException^ e )
{
if (e->Response)
{
if ( ((HttpWebResponse ^)e->Response)->StatusCode == HttpStatusCode::NotModified)
Console::WriteLine("\nThe page has not been modified since {0}", targetDate);
else
Console::WriteLine("\nUnexpected status code = {0}", ((HttpWebResponse ^)e->Response)->StatusCode);
}
else
Console::WriteLine("\nUnexpected Web Exception {0}" + e->Message);
}
// Create a new 'Uri' object with the mentioned string.
Uri myUri =new Uri("http://www.contoso.com");
// Create a new 'HttpWebRequest' object with the above 'Uri' object.
HttpWebRequest myHttpWebRequest= (HttpWebRequest)WebRequest.Create(myUri);
// Create a new 'DateTime' object.
DateTime targetDate = DateTime.Now;
// Set a target date of a week ago
targetDate.AddDays(-7.0);
myHttpWebRequest.IfModifiedSince = targetDate;
try
{
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
Console.WriteLine("Response headers for recently modified page\n{0}\n",myHttpWebResponse.Headers);
Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse );
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
Console.WriteLine("\nThe contents of Html Page are : \n");
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse.Close();
Console.WriteLine("\nPress 'Enter' key to continue.................");
Console.Read();
}
catch(WebException e)
{
if (e.Response != null)
{
if ( ((HttpWebResponse)e.Response).StatusCode == HttpStatusCode.NotModified)
Console.WriteLine("\nThe page has not been modified since "+targetDate);
else
Console.WriteLine("\nUnexpected status code = " + ((HttpWebResponse)e.Response).StatusCode);
}
else
{
Console.WriteLine("\nUnexpected Web Exception " + e.Message);
}
}
' Create a new 'Uri' object with the mentioned string.
Dim myUri As New Uri("http://www.contoso.com")
' Create a new 'HttpWebRequest' object with the above 'Uri' object.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(myUri), HttpWebRequest)
' Create a new 'DateTime' object.
Dim targetDate As DateTime = DateTime.Now
targetDate.AddDays(-7.0)
myHttpWebRequest.IfModifiedSince = targetDate
Try
' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine("Response headers for recently modified page" + ControlChars.Cr + "{0}" + ControlChars.Cr, myHttpWebResponse.Headers)
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim streamRead As New StreamReader(streamResponse)
Dim readBuff(256) As [Char]
Dim count As Integer = streamRead.Read(readBuff, 0, 256)
Console.WriteLine(ControlChars.Cr + "The contents of Html Page are : " + ControlChars.Cr)
While count > 0
Dim outputData As New [String](readBuff, 0, count)
Console.Write(outputData)
count = streamRead.Read(readBuff, 0, 256)
End While
' Close the Stream object.
streamResponse.Close()
streamRead.Close()
' Release the HttpWebResponse Resource.
myHttpWebResponse.Close()
Console.WriteLine(ControlChars.Cr + "Press 'Enter' key to continue.................")
Console.Read()
Catch e As WebException
If e.Response IsNot Nothing
If CType(e.Response,HttpWebResponse).StatusCode = HttpStatusCode.NotModified
Console.WriteLine((ControlChars.Cr + "The page has not been modified since " + targetDate))
Else
Console.WriteLine(ControlChars.Cr + "Unexpected status code = " + Ctype(e.Response,HttpWebResponse).StatusCode)
End If
Else
Console.WriteLine(ControlChars.Cr + "Unexpected Web Exception " + e.Message)
End If
End Try
注釈
注意
WebRequest
、HttpWebRequest
、ServicePoint
、WebClient
は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。
If-Modified-Since
ヘッダーが null
されている場合、戻り値は DateTime.MinValueに設定されます。
IfModifiedSince プロパティは標準の System.DateTime オブジェクトであり、DateTimeKind.Local、DateTimeKind.Utc、または DateTimeKind.Unspecifiedの System.DateTimeKind フィールドを含めることができます。 IfModifiedSince プロパティを使用する場合は、任意の種類の時間を設定できます。 DateTimeKind.Unspecified が設定または取得された場合、IfModifiedSince プロパティは DateTimeKind.Local (現地時刻) であると見なされます。
System.Net 名前空間のクラスは、GMT (Utc) 形式を使用した標準形式で伝送中に、ネットワーク上の IfModifiedSince プロパティを常に書き出します。
IfModifiedSince プロパティが DateTime.MinValueに設定されている場合、If-Modified-Since
HTTP ヘッダーは Headers プロパティと WebHeaderCollectionから削除されます。
IfModifiedSince プロパティが DateTime.MinValueされている場合は、If-Modified-Since
HTTP ヘッダーが Headers プロパティと WebHeaderCollectionに含まれていないことを示します。
手記
このプロパティの値は、WebHeaderCollectionに格納されます。 WebHeaderCollection が設定されている場合、プロパティ値は失われます。
IfModifiedSince プロパティが設定され、304 (変更されていない) 状態コードが返された場合、BeginGetResponse、GetResponse、および EndGetResponse メソッドによって System.Net.WebException がスローされます。
適用対象
.NET