This documentation is archived and is not being maintained.

FileWebRequest.GetResponse Method

Returns a response to a file system request.

Namespace: System.Net
Assembly: System (in system.dll)

public:
virtual WebResponse^ GetResponse () override
public WebResponse GetResponse ()
public override function GetResponse () : WebResponse
Not applicable.

Return Value

A WebResponse that contains the response from the file system resource.

Exception typeCondition

WebException

The request timed out.

The GetResponse method returns a WebResponse object that contains the response from the file system resource.

The GetResponse method provides synchronous access to the WebResponse. For asynchronous access, use the BeginGetResponse and EndGetResponse methods.

The following code example uses the GetResponse method to return a file system request response.

//
// This program shows how to use the FileWebRequest::GetResponse method 
// to read and display the content of a file passed by the user.
// Note. In order for this program to work, the folder containing the test file
// must be shared with its permissions set to allow read access. 
#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;
ref class TestGetResponse
{
private:
   static FileWebResponse^ myFileWebResponse;
   static void showUsage()
   {
      Console::WriteLine( "\nPlease enter file name:" );
      Console::WriteLine( "Usage: cs_getresponse <systemname>/<sharedfoldername>/<filename>" );
      Console::WriteLine( "Example: cs_getresponse ndpue/temp/hello.txt" );
   }

   static bool makeFileRequest( String^ fileName )
   {
      bool requestOk = false;
      try
      {
         Uri^ myUrl = gcnew Uri( String::Format( "file://{0}", fileName ) );
         
         // Create a Filewebrequest object using the passed Uri. 
         FileWebRequest^ myFileWebRequest = dynamic_cast<FileWebRequest^>(WebRequest::Create( myUrl ));
         
         // Get the FileWebResponse object.
         myFileWebResponse = dynamic_cast<FileWebResponse^>(myFileWebRequest->GetResponse());
         requestOk = true;
      }
      catch ( WebException^ e ) 
      {
         Console::WriteLine( "WebException: {0}", e->Message );
      }
      catch ( UriFormatException^ e ) 
      {
         Console::WriteLine( "UriFormatWebException: {0}", e->Message );
      }

      return requestOk;
   }

   static void readFile()
   {
      try
      {
         
         // Create the file stream. 
         Stream^ receiveStream = myFileWebResponse->GetResponseStream();
         
         // Create a reader object to read the file content.
         StreamReader^ readStream = gcnew StreamReader( receiveStream );
         
         // Create a local buffer for a temporary storage of the 
         // read data.
         array<Char>^readBuffer = gcnew array<Char>(256);
         
         // Read the first up to 256 bytes.
         int count = readStream->Read( readBuffer, 0, 256 );
         Console::WriteLine( "The file content is:" );
         Console::WriteLine( "" );
         
         // Loop to read the remaining bytes in 256 blocks
         // and display the data on the console.
         while ( count > 0 )
         {
            String^ str = gcnew String( readBuffer,0,count );
            Console::WriteLine(  "{0}\n", str );
            count = readStream->Read( readBuffer, 0, 256 );
         }
         readStream->Close();
         
         // Release the response object resources.
         myFileWebResponse->Close();
      }
      catch ( WebException^ e ) 
      {
         Console::WriteLine( "The WebException: {0}", e->Message );
      }
      catch ( UriFormatException^ e ) 
      {
         Console::WriteLine( "The UriFormatException: {0}", e->Message );
      }

   }


public:
   static void Main()
   {
      array<String^>^args = Environment::GetCommandLineArgs();
      if ( args->Length < 2 )
            showUsage();
      else
      {
         if ( makeFileRequest( args[ 1 ] ) )
                  readFile();
      }
   }

};

int main()
{
   TestGetResponse::Main();
}


//
// This example shows how to use the FileWebRequest.GetResponse method 
// to read and display the contents of a file passed by the user.
// Note.  For this program to work, the folder containing the test file
// must be shared, with its permissions set to allow read access. 
import System.*;
import System.Net.*;
import System.IO.*;

class TestGetResponse
{
    private static FileWebResponse myFileWebResponse;

    private static void ShowUsage()
    {
        Console.WriteLine("\nPlease enter file name:");
        Console.WriteLine("Usage: jsl_getresponse <systemname>/" 
            + "<sharedfoldername>/<filename>");
    }//ShowUsage


    private static boolean MakeFileRequest(String fileName)
    {
        boolean requestOk = false;
        try {
            Uri myUrl = new Uri("file://" + fileName);

            // Create a FileWebRequest object using the passed URI. 
            FileWebRequest myFileWebRequest = 
                ((FileWebRequest)(WebRequest.Create(myUrl)));

            // Get the FileWebResponse object.
            myFileWebResponse = 
                ((FileWebResponse)(myFileWebRequest.GetResponse()));
            requestOk = true;
        }
        catch (WebException e) {
            Console.WriteLine(("WebException: " + e.get_Message()));
        }
        catch (UriFormatException e) {
            Console.WriteLine(("UriFormatWebException: " + e.get_Message()));
        }
        return requestOk;
    } //MakeFileRequest

    private static void ReadFile()
    {
        try {
            // Create the file stream. 
            Stream receiveStream = myFileWebResponse.GetResponseStream();

            // Create a reader object to read the file content.
            StreamReader readStream = new StreamReader(receiveStream);

            // Create a local buffer for a temporary storage of the 
            // read data.
            char readBuffer[] = new char[256];

            // Read the first 256 bytes.
            int count = readStream.Read(readBuffer, 0, 256);
            Console.WriteLine("The file content is:");
            Console.WriteLine("");

            // Loop to read the remaining data in blocks of 256 bytes
            // and display the data on the console.
            while ((count > 0)) {
                String str = new String(readBuffer, 0, count);
                Console.WriteLine((str + "\n"));
                count = readStream.Read(readBuffer, 0, 256);
            }
            readStream.Close();
            // Release the response object resources.
            myFileWebResponse.Close();
        }
        catch (WebException e) {
            Console.WriteLine(("The WebException: " + e.get_Message()));
        }
        catch (UriFormatException e) {
            Console.WriteLine(("The UriFormatException: " + e.get_Message()));
        }
    } //ReadFile

    public static void main(String[] args)
    {
        if (args.length < 1) {
            ShowUsage();
        }
        else {
            if (MakeFileRequest(args[0]) == true) {
                ReadFile();
            }
        }
    } //main
} //TestGetResponse

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: