次の方法で共有


HttpWebRequest.Connection プロパティ

Connection HTTP ヘッダーの値を取得または設定します。

Public Property Connection As String
[C#]
public string Connection {get; set;}
[C++]
public: __property String* get_Connection();public: __property void set_Connection(String*);
[JScript]
public function get Connection() : String;public function set Connection(String);

プロパティ値

Connection HTTP ヘッダーの値。既定値は null 参照 (Visual Basic では Nothing) です。

例外

例外の種類 条件
ArgumentException Connection の値が Keep-alive または Close に設定されています。

解説

要求は、 Connection HTTP ヘッダーとして、 Connection プロパティをインターネット リソースに送信します。 KeepAlive が true の場合は、値 "Keep-alive" が Connection ヘッダーの末尾に追加されます。

Connection HTTP ヘッダーをクリアするには、 Connection プロパティを null 参照 (Visual Basic では Nothing) に設定します。

GetRequestStreamBeginGetRequestStreamGetResponse 、または BeginGetResponse の各メソッドの呼び出しによって開始した要求の後に Connection プロパティを変更すると、 InvalidOperationException がスローされます。

使用例

[Visual Basic, C#, C++] Connection プロパティを使用して、Connection HTTP ヘッダーの値を設定する例を次に示します。

 

Class HttpWebRequest_Connection
  
  Shared Sub Main()
    Try

      ' Create a new 'HttpWebRequest' object for the specified Uri. Make sure that 
      ' a default proxy is set if you are behind a fure wall.
      Dim myHttpWebRequest1 As HttpWebRequest = CType(WebRequest.Create("https://www.contoso.com"), HttpWebRequest)
      myHttpWebRequest1.KeepAlive = False
      ' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      Dim myHttpWebResponse1 As HttpWebResponse = CType(myHttpWebRequest1.GetResponse(), HttpWebResponse)

      Console.WriteLine(ControlChars.Cr + "The HTTP request Headers for the first request are {0}", myHttpWebRequest1.Headers)
      Console.WriteLine("Press Enter Key to Continue..........")
      Console.Read()
      Dim streamResponse As Stream = myHttpWebResponse1.GetResponseStream()
      Dim streamRead As New StreamReader(streamResponse)
      Dim readBuff(256) As [Char]
      Dim count As Integer = streamRead.Read(readBuff, 0, 256)
      Console.WriteLine("The contents of the 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 resources held by response object.
      myHttpWebResponse1.Close()
      Console.WriteLine()
     ' Create a new 'HttpWebRequest' object  to the specified Uri.   
      Dim myHttpWebRequest2 As HttpWebRequest = CType(WebRequest.Create("https://www.contoso.com"), HttpWebRequest)
      myHttpWebRequest2.Connection = "Close"
      ' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      Dim myHttpWebResponse2 As HttpWebResponse = CType(myHttpWebRequest2.GetResponse(), HttpWebResponse)
    ' Release the resources held by response object.
    myHttpWebResponse2.Close()
      Console.WriteLine(ControlChars.Cr + "The Http RequestHeaders are " + ControlChars.Cr + "{0}", myHttpWebRequest2.Headers)
      Console.WriteLine(ControlChars.Cr + "Press 'Enter' Key to Continue.........")
      Console.Read()
    Catch e As ArgumentException
      Console.WriteLine(ControlChars.Cr + "The second HttpWebRequest object has raised an Argument Exception as 'Connection' Property is set to 'Close'")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
    Catch e As WebException
      Console.WriteLine("WebException raised!")
      Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
      Console.WriteLine(ControlChars.Cr + "{0}", e.Status)
    Catch e As Exception
      Console.WriteLine("Exception raised!")
      Console.WriteLine("Source :{0} ", e.Source)
      Console.WriteLine("Message : {0}", e.Message)
    End Try
  End Sub ' Main
End Class ' HttpWebRequest_Connection

[C#] 

using System;
using System.IO;
using System.Net;
using System.Text;


class HttpWebRequest_Connection
{
  static void Main()
  {    
    try  
    {

      // Create a new HttpWebRequest object.Make sure that 
      // a default proxy is set if you are behind a fure wall.
      HttpWebRequest myHttpWebRequest1 =
        (HttpWebRequest)WebRequest.Create("https://www.contoso.com");
     
      myHttpWebRequest1.KeepAlive=false;
      // Assign the response object of HttpWebRequest to a HttpWebResponse variable.
      HttpWebResponse myHttpWebResponse1 = 
        (HttpWebResponse)myHttpWebRequest1.GetResponse();

      Console.WriteLine("\nThe HTTP request Headers for the first request are: \n{0}",myHttpWebRequest1.Headers);
      Console.WriteLine("Press Enter Key to Continue..........");
      Console.Read();

      Stream streamResponse=myHttpWebResponse1.GetResponseStream();
      StreamReader streamRead = new StreamReader( streamResponse );
      Char[] readBuff = new Char[256];
      int count = streamRead.Read( readBuff, 0, 256 );
      Console.WriteLine("The contents of the Html page are.......\n");  
      while (count > 0) 
      {
        String outputData = new String(readBuff, 0, count);
        Console.Write(outputData);
        count = streamRead.Read(readBuff, 0, 256);
      }
      Console.WriteLine();
      // Close the Stream object.
      streamResponse.Close();
      streamRead.Close();
      // Release the resources held by response object.
      myHttpWebResponse1.Close();
      // Create a new HttpWebRequest object for the specified Uri.
      HttpWebRequest myHttpWebRequest2 = 
        (HttpWebRequest)WebRequest.Create("https://www.contoso.com");
      myHttpWebRequest2.Connection="Close";
      // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      HttpWebResponse myHttpWebResponse2 = 
        (HttpWebResponse)myHttpWebRequest2.GetResponse();
      // Release the resources held by response object.
      myHttpWebResponse2.Close();
      Console.WriteLine("\nThe Http RequestHeaders are \n{0}",myHttpWebRequest2.Headers);
      Console.WriteLine("\nPress 'Enter' Key to Continue.........");
      Console.Read();      
    }
    catch(ArgumentException e)
    {
      Console.WriteLine("\nThe second HttpWebRequest object has raised an Argument Exception as 'Connection' Property is set to 'Close'");
      Console.WriteLine("\n{0}",e.Message);
    }
    catch(WebException e)
    {
      Console.WriteLine("WebException raised!");
      Console.WriteLine("\n{0}",e.Message);
      Console.WriteLine("\n{0}",e.Status);
    } 
    catch(Exception e)
    {
      Console.WriteLine("Exception raised!");
      Console.WriteLine("Source :{0} " , e.Source);
      Console.WriteLine("Message :{0} " , e.Message);
    }
  }
}


[C++] 
int main() {
   try {

      // Create a new HttpWebRequest object.  Make sure that
      // a default proxy is set if you are behind a firewall.
      HttpWebRequest* myHttpWebRequest1 =
         dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"https://www.contoso.com"));

      myHttpWebRequest1->KeepAlive=false;
      // Assign the response object of HttpWebRequest to a HttpWebResponse variable.
      HttpWebResponse* myHttpWebResponse1 =
         dynamic_cast<HttpWebResponse*>(myHttpWebRequest1->GetResponse());

      Console::WriteLine(S"\nThe HTTP request Headers for the first request are: \n {0}",
         myHttpWebRequest1->Headers);
      Console::WriteLine(S"Press Enter Key to Continue..........");
      Console::Read();

      Stream* streamResponse = myHttpWebResponse1->GetResponseStream();
      StreamReader* streamRead = new StreamReader(streamResponse);
      Char readBuff[] = new Char[256];
      int count = streamRead->Read(readBuff, 0, 256);
      Console::WriteLine(S"The contents of the Html page are.......\n");
      while (count > 0) {
         String* outputData = new String(readBuff, 0, count);
         Console::Write(outputData);
         count = streamRead->Read(readBuff, 0, 256);
      }
      Console::WriteLine();
      // Close the Stream object.
      streamResponse->Close();
      streamRead->Close();
      // Release the resources held by response object.
      myHttpWebResponse1->Close();
      // Create a new HttpWebRequest object for the specified Uri.
      HttpWebRequest* myHttpWebRequest2 =
         dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"https://www.contoso.com"));
      myHttpWebRequest2->Connection=S"Close";
      // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
      HttpWebResponse* myHttpWebResponse2 =
         dynamic_cast<HttpWebResponse*>(myHttpWebRequest2->GetResponse());
      // Release the resources held by response object.
      myHttpWebResponse2->Close();
      Console::WriteLine(S"\nThe Http RequestHeaders are \n {0}",
         myHttpWebRequest2->Headers);
      Console::WriteLine(S"\nPress 'Enter' Key to Continue.........");
      Console::Read();
   } catch (ArgumentException* e) {
      Console::WriteLine(S"\nThe second HttpWebRequest Object* has raised an Argument Exception as 'Connection' Property is set to 'Close'");
      Console::WriteLine(S"\n {0}", e->Message);
   } catch (WebException* e) {
      Console::WriteLine(S"WebException raised!");
      Console::WriteLine(S"\n {0}", e->Message);
      Console::WriteLine(S"\n {0}", __box( e->Status));
   } catch (Exception* e) {
      Console::WriteLine(S"Exception raised!");
      Console::WriteLine(S"Source : {0} " , e->Source);
      Console::WriteLine(S"Message : {0} " , e->Message);
   }
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

HttpWebRequest クラス | HttpWebRequest メンバ | System.Net 名前空間