Csharp/CSharp Tutorial/Network/WebRequest — различия между версиями

Материал из .Net Framework эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Текущая версия на 15:20, 26 мая 2010

Download image from a website

<source lang="csharp">using System; using System.Net; using System.IO; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; public class MainClass {

  [STAThread]
  public static void Main(string[] args)
  {
      string picUri = "http://www.java.ru/style/logo.PNG";
      
      // Create the requests.
      WebRequest requestPic = WebRequest.Create(picUri);
      WebResponse responsePic = requestPic.GetResponse();
      
      Image webImage = Image.FromStream(responsePic.GetResponseStream());
  }

}</source>

Reading Web Page As HTML

<source lang="csharp">using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net.Sockets; using System.Text;

   public class Client
   {
       static public void Main(string[] Args)
       {
           HttpWebRequest webRequest =(HttpWebRequest)WebRequest.Create("http://www.google.ru/");
           HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
           StreamReader streamReader = new StreamReader(webResponse.GetResponseStream(), Encoding.ASCII);
           string outputString = streamReader.ReadToEnd();
           Console.WriteLine(outputString);
           streamReader.Close();
       }
   }</source>

Save what you read from WebRequest to a file

<source lang="csharp">using System.ruponentModel; using System.IO; using System.Net;

   class MainClass
   {
       static void Main()
       {
           WebRequest request = WebRequest.Create("http://nfex.ru");
           using (WebResponse response = request.GetResponse())
           using (Stream responseStream = response.GetResponseStream())
           using (FileStream output = File.Create("response.dat"))
           {
               Copy(responseStream, output);
           }
       }
       
       const int BufferSize = 8192;
       public static void Copy(Stream input,Stream output)
       {
           byte[] buffer = new byte[BufferSize];
           int read;
           while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
           {
               output.Write(buffer, 0, read);
           }
       }
       public static byte[] ReadFully(Stream input)
       {
           using (MemoryStream tempStream = new MemoryStream())
           {
               Copy(input, tempStream);
               if (tempStream.Length == tempStream.GetBuffer().Length)
               {
                   return tempStream.GetBuffer();
               }
               return tempStream.ToArray();
           }
       }        
   }</source>

Use WebRequest

<source lang="csharp">using System; using System.Net; using System.IO; class MainClass {

 [STAThread]
 static void Main(string[] args)
 {
   WebRequest MyRequest = WebRequest.Create("http://www.nfex.ru");
   WebResponse MyResponse = MyRequest.GetResponse();
   Stream MyStream = MyResponse.GetResponseStream();
   StreamReader MyReader = new StreamReader(MyStream);
   string MyWebLine;
   while ((MyWebLine = MyReader.ReadLine()) != null)
   {
     Console.WriteLine(MyWebLine);
   }
   MyStream.Close();
 }

}</source>

Use WebRequest and WebResponse to read a web page

<source lang="csharp">using System; using System.Net; using System.IO; public class MainClass {

  [STAThread]
  public static void Main(string[] args)
  {
      string htmlUri = "http://www.nfex.ru";
      WebRequest requestHtml = WebRequest.Create(htmlUri);       
      WebResponse responseHtml = requestHtml.GetResponse();
      // Read the text from the response stream.
      using (StreamReader r = new StreamReader(responseHtml.GetResponseStream()))
      {
          Console.WriteLine( r.ReadToEnd());
      }
  }

}</source>

<HTML>
<HEAD>
     Java examples (example source code) Organized by topic </title>
...
...

Use WebRequest to create a StreamReader

<source lang="csharp">using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; class MainClass {

   static void Main(string[] args)
   {
       StreamReader reader = new StreamReader(WebRequest.Create("http://www.nfex.ru").GetResponse().GetResponseStream());
       string line;
       while ((line = reader.ReadLine()) != null)
       {
           Console.WriteLine(line);
       }
   }

}</source>

<HTML>
<HEAD>
     Java examples (example source code) Organized by topic </title>
...