<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FNetwork%2FWeb_Client</id>
		<title>Csharp/C Sharp/Network/Web Client - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FNetwork%2FWeb_Client"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/Web_Client&amp;action=history"/>
		<updated>2026-04-29T21:22:14Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/Web_Client&amp;diff=1491&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/Web_Client&amp;diff=1491&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/Web_Client&amp;diff=1492&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/Network/Web_Client&amp;diff=1492&amp;oldid=prev"/>
				<updated>2010-05-26T11:47:10Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Access the Internet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Access the Internet. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
using System.Net; &lt;br /&gt;
using System.IO; &lt;br /&gt;
 &lt;br /&gt;
public class NetDemo {  &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    int ch; &lt;br /&gt;
 &lt;br /&gt;
    // First, create a WebRequest to a URI. &lt;br /&gt;
    HttpWebRequest req = (HttpWebRequest) &lt;br /&gt;
           WebRequest.Create(&amp;quot;http://www.nfex.ru&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    // Next, send that request and return the response. &lt;br /&gt;
    HttpWebResponse resp = (HttpWebResponse) &lt;br /&gt;
           req.GetResponse(); &lt;br /&gt;
 &lt;br /&gt;
    // From the response, obtain an input stream. &lt;br /&gt;
    Stream istrm = resp.GetResponseStream(); &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
    /* Now, read and display the html present at &lt;br /&gt;
       the specified URI.  So you can see what is &lt;br /&gt;
       being displayed, the data is shown &lt;br /&gt;
       400 characters at a time.  After each 400 &lt;br /&gt;
       characters are displayed, you must press &lt;br /&gt;
       ENTER to get the next 400. */ &lt;br /&gt;
   &lt;br /&gt;
    for(int i=1; ; i++) { &lt;br /&gt;
      ch =  istrm.ReadByte(); &lt;br /&gt;
      if(ch == -1) break; &lt;br /&gt;
      Console.Write((char) ch); &lt;br /&gt;
      if((i%400)==0) { &lt;br /&gt;
        Console.Write(&amp;quot;\nPress a key.&amp;quot;); &lt;br /&gt;
        Console.Read(); &lt;br /&gt;
      } &lt;br /&gt;
    } &lt;br /&gt;
 &lt;br /&gt;
    // Close the Response. This also closes istrm. &lt;br /&gt;
    resp.Close(); &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Basic WebClient==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
    public static void Main() {&lt;br /&gt;
        System.Net.WebClient Client = new WebClient();&lt;br /&gt;
        Stream strm = Client.OpenRead(&amp;quot;http://www.reuters.ru&amp;quot;);&lt;br /&gt;
        StreamReader sr = new StreamReader(strm);&lt;br /&gt;
        string line;&lt;br /&gt;
        while ((line = sr.ReadLine()) != null) {&lt;br /&gt;
            Console.WriteLine(line);&lt;br /&gt;
        }&lt;br /&gt;
        strm.Close();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Displays the resource specified==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class TryURL {&lt;br /&gt;
  public static void Main(String [] args) {&lt;br /&gt;
    WebClient client = new WebClient();&lt;br /&gt;
    client.BaseAddress = &amp;quot;http://www.nfex.ru&amp;quot;;&lt;br /&gt;
    client.DownloadFile(&amp;quot;www.nfex.ru&amp;quot;, &amp;quot;index.htm&amp;quot;);&lt;br /&gt;
    StreamReader input =new StreamReader(client.OpenRead(&amp;quot;index.htm&amp;quot;));&lt;br /&gt;
    Console.WriteLine(input.ReadToEnd());&lt;br /&gt;
    Console.WriteLine&lt;br /&gt;
      (&amp;quot;Request header count: {0}&amp;quot;, client.Headers.Count);&lt;br /&gt;
    WebHeaderCollection header = client.ResponseHeaders;&lt;br /&gt;
    Console.WriteLine&lt;br /&gt;
      (&amp;quot;Response header count: {0}&amp;quot;, header.Count);&lt;br /&gt;
    for (int i = 0; i &amp;lt; header.Count; i++)&lt;br /&gt;
      Console.WriteLine(&amp;quot;   {0} : {1}&amp;quot;, &lt;br /&gt;
                          header.GetKey(i), header[i]);&lt;br /&gt;
    input.Close();&lt;br /&gt;
  }&lt;br /&gt;
}    &lt;br /&gt;
    &lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download Data Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class DownloadDataTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      byte[] response = wc.DownloadData(argv[0]);&lt;br /&gt;
      Console.WriteLine(Encoding.ASCII.GetString(response));&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download File Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class DownloadFileTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      string filename = &amp;quot;webpage.htm&amp;quot;;&lt;br /&gt;
      wc.DownloadFile(argv[0], filename);&lt;br /&gt;
      Console.WriteLine(&amp;quot;file downloaded&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Examine the headers==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Examine the headers. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
using System.Net; &lt;br /&gt;
 &lt;br /&gt;
public class HeaderDemo {  &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
 &lt;br /&gt;
    // Create a WebRequest to a URI. &lt;br /&gt;
    HttpWebRequest req = (HttpWebRequest) &lt;br /&gt;
           WebRequest.Create(&amp;quot;http://www.osborne.ru&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    // Send that request and return the response. &lt;br /&gt;
    HttpWebResponse resp = (HttpWebResponse) &lt;br /&gt;
           req.GetResponse(); &lt;br /&gt;
 &lt;br /&gt;
    // Obtain a list of the names. &lt;br /&gt;
    string[] names = resp.Headers.AllKeys; &lt;br /&gt;
 &lt;br /&gt;
    // Display the header name/value pairs. &lt;br /&gt;
    Console.WriteLine(&amp;quot;{0,-20}{1}\n&amp;quot;, &amp;quot;Name&amp;quot;, &amp;quot;Value&amp;quot;); &lt;br /&gt;
    foreach(string n in names) &lt;br /&gt;
      Console.WriteLine(&amp;quot;{0,-20}{1}&amp;quot;, n, resp.Headers[n]); &lt;br /&gt;
 &lt;br /&gt;
    // Close the Response.  &lt;br /&gt;
    resp.Close(); &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handle network exceptions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Handle network exceptions. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
using System.Net; &lt;br /&gt;
using System.IO; &lt;br /&gt;
 &lt;br /&gt;
public class NetExcDemo {  &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    int ch; &lt;br /&gt;
 &lt;br /&gt;
    try { &lt;br /&gt;
 &lt;br /&gt;
      // First, create a WebRequest to a URI. &lt;br /&gt;
      HttpWebRequest req = (HttpWebRequest) &lt;br /&gt;
             WebRequest.Create(&amp;quot;http://www.osborne.ru&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
      // Next, send that request and return the response. &lt;br /&gt;
      HttpWebResponse resp = (HttpWebResponse) &lt;br /&gt;
             req.GetResponse(); &lt;br /&gt;
 &lt;br /&gt;
      // From the response, obtain an input stream. &lt;br /&gt;
      Stream istrm = resp.GetResponseStream(); &lt;br /&gt;
 &lt;br /&gt;
      /* Now, read and display the html present at &lt;br /&gt;
         the specified URI.  So you can see what is &lt;br /&gt;
         being displayed, the data is shown &lt;br /&gt;
         400 characters at a time.  After each 400 &lt;br /&gt;
         characters are displayed, you must press &lt;br /&gt;
         ENTER to get the next 400. */ &lt;br /&gt;
   &lt;br /&gt;
      for(int i=1; ; i++) { &lt;br /&gt;
        ch =  istrm.ReadByte(); &lt;br /&gt;
        if(ch == -1) break; &lt;br /&gt;
        Console.Write((char) ch); &lt;br /&gt;
        if((i%400)==0) { &lt;br /&gt;
          Console.Write(&amp;quot;\nPress a key.&amp;quot;); &lt;br /&gt;
          Console.Read(); &lt;br /&gt;
        } &lt;br /&gt;
      } &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
      // Close the Response. This also closes istrm. &lt;br /&gt;
      resp.Close(); &lt;br /&gt;
 &lt;br /&gt;
    } catch(WebException exc) { &lt;br /&gt;
      Console.WriteLine(&amp;quot;Network Error: &amp;quot; + exc.Message +  &lt;br /&gt;
                        &amp;quot;\nStatus code: &amp;quot; + exc.Status); &lt;br /&gt;
    } catch(ProtocolViolationException exc) { &lt;br /&gt;
      Console.WriteLine(&amp;quot;Protocol Error: &amp;quot; + exc.Message); &lt;br /&gt;
    } catch(UriFormatException exc) { &lt;br /&gt;
      Console.WriteLine(&amp;quot;URI Format Error: &amp;quot; + exc.Message); &lt;br /&gt;
    } catch(NotSupportedException exc) { &lt;br /&gt;
      Console.WriteLine(&amp;quot;Unknown Protocol: &amp;quot; + exc.Message); &lt;br /&gt;
    } catch(IOException exc) { &lt;br /&gt;
      Console.WriteLine(&amp;quot;I/O Error: &amp;quot; + exc.Message); &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==My Web Client==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * C# Programmers Pocket Consultant&lt;br /&gt;
 * Author: Gregory S. MacBeth&lt;br /&gt;
 * Email: gmacbeth@comporium.net&lt;br /&gt;
 * Create Date: June 27, 2003&lt;br /&gt;
 * Last Modified Date:&lt;br /&gt;
 * Version: 1&lt;br /&gt;
 */&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.IO;&lt;br /&gt;
&lt;br /&gt;
namespace Client.Chapter_14___Networking_and_WWW&lt;br /&gt;
{&lt;br /&gt;
  public class MyWebClient&lt;br /&gt;
  {&lt;br /&gt;
    [STAThread]&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      WebClient MyClient = new WebClient();&lt;br /&gt;
      Stream MyStream = MyClient.OpenRead(&amp;quot;http://www.nfex.ru.ru&amp;quot;);&lt;br /&gt;
      StreamReader MyReader = new StreamReader(MyStream);&lt;br /&gt;
      Console.WriteLine(MyReader.ReadLine());&lt;br /&gt;
      MyStream.Close();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==NetworkCredential Cache Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class CredCacheTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      string website1 = &amp;quot;http://remote1.ispnet.net&amp;quot;;&lt;br /&gt;
      string website2 = &amp;quot;http://remote2.ispnet.net&amp;quot;;&lt;br /&gt;
      string website3 = &amp;quot;http://remote3.ispnet.net/login&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      NetworkCredential nc1 = new NetworkCredential(&amp;quot;mike&amp;quot;, &amp;quot;guitars&amp;quot;);&lt;br /&gt;
      NetworkCredential nc2 = new NetworkCredential(&amp;quot;evonne&amp;quot;, &amp;quot;singing&amp;quot;, &amp;quot;home&amp;quot;);&lt;br /&gt;
      NetworkCredential nc3 = new NetworkCredential(&amp;quot;alex&amp;quot;, &amp;quot;drums&amp;quot;);&lt;br /&gt;
      CredentialCache cc = new CredentialCache();&lt;br /&gt;
      cc.Add(new Uri(website1), &amp;quot;Basic&amp;quot;, nc1);&lt;br /&gt;
      cc.Add(new Uri(website2), &amp;quot;Basic&amp;quot;, nc2);&lt;br /&gt;
      cc.Add(new Uri(website3), &amp;quot;Digest&amp;quot;, nc3);&lt;br /&gt;
      wc.Credentials = cc;&lt;br /&gt;
      wc.DownloadFile(website1, &amp;quot;website1.htm&amp;quot;);&lt;br /&gt;
      wc.DownloadFile(website2, &amp;quot;website2.htm&amp;quot;);&lt;br /&gt;
      wc.DownloadFile(website3, &amp;quot;website3.htm&amp;quot;);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==NetworkCredential test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class CredTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      NetworkCredential nc = new NetworkCredential(&amp;quot;alex&amp;quot;, &amp;quot;mypassword&amp;quot;);&lt;br /&gt;
      wc.Credentials = nc;&lt;br /&gt;
      byte[] response = wc.DownloadData(&amp;quot;http://www.nfex.ru/index.htm&amp;quot;);&lt;br /&gt;
      Console.WriteLine(Encoding.ASCII.GetString(response));&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reading Web Pages==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
A Programmer&amp;quot;s Introduction to C# (Second Edition)&lt;br /&gt;
by Eric Gunnerson&lt;br /&gt;
Publisher: Apress  L.P.&lt;br /&gt;
ISBN: 1-893115-62-3&lt;br /&gt;
*/&lt;br /&gt;
// 32 - .NET Frameworks Overview\Reading Web Pages&lt;br /&gt;
// copyright 2000 Eric Gunnerson&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Text.RegularExpressions;&lt;br /&gt;
class QuoteFetch&lt;br /&gt;
{&lt;br /&gt;
    public QuoteFetch(string symbol)&lt;br /&gt;
    {&lt;br /&gt;
        this.symbol = symbol;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public string Last&lt;br /&gt;
    {&lt;br /&gt;
        get&lt;br /&gt;
        {&lt;br /&gt;
            string url = &amp;quot;http://moneycentral.msn.ru/scripts/webquote.dll?ipage=qd&amp;amp;Symbol=&amp;quot;;&lt;br /&gt;
            url += symbol;&lt;br /&gt;
            &lt;br /&gt;
            ExtractQuote(ReadUrl(url));&lt;br /&gt;
            return(last);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    string ReadUrl(string url)&lt;br /&gt;
    {&lt;br /&gt;
        Uri uri = new Uri(url);&lt;br /&gt;
        &lt;br /&gt;
        //Create the request object&lt;br /&gt;
        &lt;br /&gt;
        WebRequest req = WebRequest.Create(uri);&lt;br /&gt;
        WebResponse resp = req.GetResponse();&lt;br /&gt;
        Stream stream = resp.GetResponseStream();&lt;br /&gt;
        StreamReader sr = new StreamReader(stream);&lt;br /&gt;
        &lt;br /&gt;
        string s = sr.ReadToEnd();&lt;br /&gt;
        &lt;br /&gt;
        return(s);&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
    void ExtractQuote(string s)&lt;br /&gt;
    {&lt;br /&gt;
        // Line like: &amp;quot;Last&amp;lt;/TD&amp;gt;&amp;lt;TD ALIGN=RIGHT NOWRAP&amp;gt;&amp;lt;B&amp;gt;&amp;amp;nbsp;78 3/16&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        Regex lastmatch = new Regex(@&amp;quot;Last\D+(?&amp;lt;last&amp;gt;.+)&amp;lt;\/B&amp;gt;&amp;quot;);&lt;br /&gt;
        last = lastmatch.Match(s).Groups[1].ToString();&lt;br /&gt;
    }&lt;br /&gt;
    string    symbol;&lt;br /&gt;
    string    last;&lt;br /&gt;
}&lt;br /&gt;
public class ReadingWebPages&lt;br /&gt;
{&lt;br /&gt;
    public static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
        if (args.Length != 1)&lt;br /&gt;
        Console.WriteLine(&amp;quot;Quote &amp;lt;symbol&amp;gt;&amp;quot;);&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            // GlobalProxySelection.Select = new DefaultControlObject(&amp;quot;proxy&amp;quot;, 80);&lt;br /&gt;
            QuoteFetch q = new QuoteFetch(args[0]);&lt;br /&gt;
            Console.WriteLine(&amp;quot;{0} = {1}&amp;quot;, args[0], q.Last);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Save web page from HttpWebResponse==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.IO;&lt;br /&gt;
public class WebApp {&lt;br /&gt;
    public static void Main() {&lt;br /&gt;
        String page = &amp;quot;http://www.yoursite.net/index.html&amp;quot;;&lt;br /&gt;
        HttpWebRequest site = (HttpWebRequest)WebRequest.Create(page);&lt;br /&gt;
        HttpWebResponse response =(HttpWebResponse)site.GetResponse();&lt;br /&gt;
        Stream dataStream = response.GetResponseStream();&lt;br /&gt;
        StreamReader read = new StreamReader(dataStream);&lt;br /&gt;
        String data = read.ReadToEnd();&lt;br /&gt;
        Console.WriteLine(data);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use LastModified==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Use LastModified. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
using System.Net; &lt;br /&gt;
 &lt;br /&gt;
public class HeaderDemo12 {  &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
 &lt;br /&gt;
    HttpWebRequest req = (HttpWebRequest) &lt;br /&gt;
           WebRequest.Create(&amp;quot;http://www.Microsoft.ru&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
    HttpWebResponse resp = (HttpWebResponse) &lt;br /&gt;
           req.GetResponse(); &lt;br /&gt;
 &lt;br /&gt;
    Console.WriteLine(&amp;quot;Last modified: &amp;quot; + resp.LastModified); &lt;br /&gt;
 &lt;br /&gt;
    resp.Close(); &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use WebClient to download information into a file==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C#: The Complete Reference &lt;br /&gt;
by Herbert Schildt &lt;br /&gt;
Publisher: Osborne/McGraw-Hill (March 8, 2002)&lt;br /&gt;
ISBN: 0072134852&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
// Use WebClient to download information into a file. &lt;br /&gt;
 &lt;br /&gt;
using System; &lt;br /&gt;
using System.Net; &lt;br /&gt;
using System.IO; &lt;br /&gt;
 &lt;br /&gt;
public class WebClientDemo {  &lt;br /&gt;
  public static void Main() { &lt;br /&gt;
    WebClient user = new WebClient(); &lt;br /&gt;
    string uri = &amp;quot;http://www.nfex.ru&amp;quot;; &lt;br /&gt;
    string fname = &amp;quot;data.txt&amp;quot;; &lt;br /&gt;
     &lt;br /&gt;
    try { &lt;br /&gt;
      Console.WriteLine(&amp;quot;Downloading data from &amp;quot; + &lt;br /&gt;
                        uri + &amp;quot; to &amp;quot; + fname); &lt;br /&gt;
      user.DownloadFile(uri, fname); &lt;br /&gt;
    } catch (WebException exc) { &lt;br /&gt;
      Console.WriteLine(exc); &lt;br /&gt;
    } catch (UriFormatException exc) { &lt;br /&gt;
      Console.WriteLine(exc); &lt;br /&gt;
    } &lt;br /&gt;
      &lt;br /&gt;
    Console.WriteLine(&amp;quot;Download complete.&amp;quot;); &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Client Open Read Test ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class OpenReadTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      string response;&lt;br /&gt;
      Stream strm = wc.OpenRead(argv[0]);&lt;br /&gt;
      StreamReader sr = new StreamReader(strm);&lt;br /&gt;
      while(sr.Peek() &amp;gt; -1)&lt;br /&gt;
      {&lt;br /&gt;
         response = sr.ReadLine();&lt;br /&gt;
         Console.WriteLine(response);&lt;br /&gt;
      }&lt;br /&gt;
      sr.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Client Open Write Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class OpenWriteTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      string data = &amp;quot;Data up upload to server&amp;quot;;&lt;br /&gt;
      Stream strm = wc.OpenWrite(argv[0]);&lt;br /&gt;
      StreamWriter sw = new StreamWriter(strm);&lt;br /&gt;
      sw.WriteLine(data);&lt;br /&gt;
      sw.Close();&lt;br /&gt;
      strm.Close();&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Client Response Headers Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Specialized;&lt;br /&gt;
using System.Net;&lt;br /&gt;
public class ResponseHeadersTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      byte[] response = wc.DownloadData(argv[0]);&lt;br /&gt;
      WebHeaderCollection whc = wc.ResponseHeaders;&lt;br /&gt;
      Console.WriteLine(&amp;quot;header count = {0}&amp;quot;, whc.Count);&lt;br /&gt;
      for (int i = 0; i &amp;lt; whc.Count; i++)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(whc.GetKey(i) + &amp;quot; = &amp;quot; + whc.Get(i));&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Client Upload Data Test 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class UploadDataTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      string data = &amp;quot;This is the data to post&amp;quot;;&lt;br /&gt;
      byte[] dataarray = Encoding.ASCII.GetBytes(data);&lt;br /&gt;
      wc.UploadData(argv[0], dataarray);&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Client Upload Values Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Specialized;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Text;&lt;br /&gt;
public class UploadValuesTest&lt;br /&gt;
{&lt;br /&gt;
   public static void Main(string[] argv)&lt;br /&gt;
   {&lt;br /&gt;
      WebClient wc = new WebClient();&lt;br /&gt;
      string uri = &amp;quot;http://localhost/testform.aspx&amp;quot;;&lt;br /&gt;
      NameValueCollection nvc = new NameValueCollection();&lt;br /&gt;
      nvc.Add(&amp;quot;lastname&amp;quot;, &amp;quot;Blum&amp;quot;);&lt;br /&gt;
      nvc.Add(&amp;quot;firstname&amp;quot;, &amp;quot;Rich&amp;quot;);&lt;br /&gt;
      byte[] response = wc.UploadValues(uri, nvc);&lt;br /&gt;
      Console.WriteLine(Encoding.ASCII.GetString(response));&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Get==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
C# Network Programming &lt;br /&gt;
by Richard Blum&lt;br /&gt;
Publisher: Sybex &lt;br /&gt;
ISBN: 0782141765&lt;br /&gt;
*/&lt;br /&gt;
using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Net;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
public class WebGet : Form&lt;br /&gt;
{&lt;br /&gt;
   private TextBox uribox;&lt;br /&gt;
   private ListBox headers;&lt;br /&gt;
   private ListBox cookies;&lt;br /&gt;
   private ListBox response;&lt;br /&gt;
   public WebGet()&lt;br /&gt;
   {&lt;br /&gt;
      Text = &amp;quot;WebGet - a web page retriever&amp;quot;;&lt;br /&gt;
      Size = new Size(500, 450);&lt;br /&gt;
      Label label1 = new Label();&lt;br /&gt;
      label1.Parent = this;&lt;br /&gt;
      label1.Text = &amp;quot;URI:&amp;quot;;&lt;br /&gt;
      label1.AutoSize = true;&lt;br /&gt;
      label1.Location = new Point(10, 23);&lt;br /&gt;
      uribox = new TextBox();&lt;br /&gt;
      uribox.Parent = this;&lt;br /&gt;
      uribox.Size = new Size(200, 2 * Font.Height);&lt;br /&gt;
      uribox.Location = new Point(35, 20);&lt;br /&gt;
      Label label2 = new Label();&lt;br /&gt;
      label2.Parent = this;&lt;br /&gt;
      label2.Text = &amp;quot;Headers:&amp;quot;;&lt;br /&gt;
      label2.AutoSize = true;&lt;br /&gt;
      label2.Location = new Point(10, 46);&lt;br /&gt;
      headers = new ListBox();&lt;br /&gt;
      headers.Parent = this;&lt;br /&gt;
      headers.HorizontalScrollbar = true;&lt;br /&gt;
      headers.Location = new Point(10, 65);&lt;br /&gt;
      headers.Size = new Size(450, 6 * Font.Height);&lt;br /&gt;
      Label label3 = new Label();&lt;br /&gt;
      label3.Parent = this;&lt;br /&gt;
      label3.Text = &amp;quot;Cookies:&amp;quot;;&lt;br /&gt;
      label3.AutoSize = true;&lt;br /&gt;
      label3.Location = new Point(10, 70 + 6 * Font.Height);&lt;br /&gt;
      cookies = new ListBox();&lt;br /&gt;
      cookies.Parent = this;&lt;br /&gt;
      cookies.HorizontalScrollbar = true;&lt;br /&gt;
      cookies.Location = new Point(10, 70 + 7 * Font.Height);&lt;br /&gt;
      cookies.Size = new Size(450, 6 * Font.Height);&lt;br /&gt;
      Label label4 = new Label();&lt;br /&gt;
      label4.Parent = this;&lt;br /&gt;
      label4.Text = &amp;quot;HTML:&amp;quot;;&lt;br /&gt;
      label4.AutoSize = true;&lt;br /&gt;
      label4.Location = new Point(10, 70 + 13 * Font.Height);&lt;br /&gt;
      response = new ListBox();&lt;br /&gt;
      response.Parent = this;&lt;br /&gt;
      response.HorizontalScrollbar = true;&lt;br /&gt;
      response.Location = new Point(10, 70 + 14 * Font.Height);&lt;br /&gt;
      response.Size = new Size(450, 12 * Font.Height);&lt;br /&gt;
&lt;br /&gt;
      Button sendit = new Button();&lt;br /&gt;
      sendit.Parent = this;&lt;br /&gt;
      sendit.Text = &amp;quot;GetIt&amp;quot;;&lt;br /&gt;
      sendit.Location = new Point(275, 18);&lt;br /&gt;
      sendit.Size = new Size(7 * Font.Height, 2 * Font.Height);&lt;br /&gt;
      sendit.Click += new EventHandler(ButtongetitOnClick);&lt;br /&gt;
   }&lt;br /&gt;
   void ButtongetitOnClick(object obj, EventArgs ea)&lt;br /&gt;
   {&lt;br /&gt;
      headers.Items.Clear();&lt;br /&gt;
      cookies.Items.Clear();&lt;br /&gt;
      response.Items.Clear();&lt;br /&gt;
      HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(uribox.Text);&lt;br /&gt;
      hwr.CookieContainer = new CookieContainer();&lt;br /&gt;
      HttpWebResponse hwrsp = (HttpWebResponse)hwr.GetResponse();&lt;br /&gt;
      WebHeaderCollection whc = hwrsp.Headers;&lt;br /&gt;
      for (int i = 0; i &amp;lt; whc.Count; i++)&lt;br /&gt;
      {&lt;br /&gt;
         headers.Items.Add(whc.GetKey(i) + &amp;quot; = &amp;quot; + whc.Get(i));&lt;br /&gt;
      }&lt;br /&gt;
      hwrsp.Cookies = hwr.CookieContainer.GetCookies(hwr.RequestUri);&lt;br /&gt;
      foreach(Cookie cky in hwrsp.Cookies)&lt;br /&gt;
      {&lt;br /&gt;
         cookies.Items.Add(cky.Name + &amp;quot; = &amp;quot; + cky.Value);&lt;br /&gt;
      }&lt;br /&gt;
      Stream strm = hwrsp.GetResponseStream();&lt;br /&gt;
      StreamReader sr = new StreamReader(strm);&lt;br /&gt;
      while (sr.Peek() &amp;gt; -1)&lt;br /&gt;
      {&lt;br /&gt;
         response.Items.Add(sr.ReadLine());&lt;br /&gt;
      }&lt;br /&gt;
      sr.Close();&lt;br /&gt;
      strm.Close();&lt;br /&gt;
   }&lt;br /&gt;
   public static void Main()&lt;br /&gt;
   {&lt;br /&gt;
      Application.Run(new WebGet());&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>