12-29-2011, 10:51 AM
Вообщем решил сделать уникальный Updater для своего сервера Aion
У меня есть список файлов. Как мне реализовать их Скачивание из интернета (зная их адрес) на локальный (компьютер пользователся) компьютер???
Еще хотелось бы сделать мониторинг сервера (onlain;oflain)
И ввод логина и пароля через Updater
С чего начать какие классы подскажете?
можно ли использовать класс HttpWebRequest
Тоесть код реализуюший скачивание
Или класс InternetAffair
Что посоветуете и с чего лучше начинать?
У меня есть список файлов. Как мне реализовать их Скачивание из интернета (зная их адрес) на локальный (компьютер пользователся) компьютер???
Еще хотелось бы сделать мониторинг сервера (onlain;oflain)
И ввод логина и пароля через Updater
С чего начать какие классы подскажете?
можно ли использовать класс HttpWebRequest
Тоесть код реализуюший скачивание
Код
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Text.RegularExpressions;
namespace Parser
{
public class InternetAffair
{
CookieContainer _requestCookieContainer = new CookieContainer();
#region Properties
public CookieContainer RequestCookieContainer
{
get { return _requestCookieContainer; }
}
#endregion
#region Methods
public string getHTML(string requestURI)
{
HttpWebResponse httpWebResponse = null;
string response = "";
try
{
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestURI);
httpWebRequest.Timeout = Constants.HttpWebRequestMinTimeOut;
httpWebRequest.UserAgent = Constants.UserAgent;
httpWebRequest.Referer = Constants.Referer;
httpWebRequest.CookieContainer = RequestCookieContainer;
httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
if (httpWebResponse.StatusCode != HttpStatusCode.OK)
{
httpWebResponse.Close(); // Releases the resources of the response.
ColorConsole.WriteLine(ConsoleColor.White, String.Format("\nWebException\ngetHTML() resp.StatusCode: {0}", httpWebResponse.StatusCode.ToString()));
}
else
{
StreamReader receiveStream = new StreamReader(httpWebResponse.GetResponseStream());
response = receiveStream.ReadToEnd();
receiveStream.Close();
}
}
catch (System.Net.WebException we)
{
ColorConsole.WriteLine(ConsoleColor.White, String.Format("\nWebException\ngetHTML() function: {0}\nMessage: {1}", requestURI, we.Message));
response = Constants.ErrorPage;
}
finally
{
if (httpWebResponse != null)httpWebResponse.Close();
}
return response;
}
#endregion
}
}
Или класс InternetAffair
Код
Код:
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Text;
using System.Text.RegularExpressions;
using ParserOfCostkaLib;
using System.Xml;
using System.IO;
using ParserOfCostkaLib.DAL;
namespace Parser
{
public class CreateParser
{
#region Private Members
string _sourseOfParsing;
// ...
#endregion
#region Properties
public string SourseOfParsing
{
get { return _sourseOfParsing; }
set { _sourseOfParsing = value; }
}
// ...
#endregion
#region Methods
public CreateParserCategories()
{
SourseOfParsing = ConfigurationManager.AppSettings["UrlOfRootCategoryAspx"];
// ...
}
public void DoIt()
{
try
{
InternetAffair internetAffair = new InternetAffair();
string sourceHTML = internetAffair.getHTML(SourseOfParsing);
// Строка sourceHTML содержит текст считанного html файла
// Сейчас его можно каким-то образом обработать или сохранить на диск локальной машины
}
catch (XmlException xmlException)
{
ColorConsole.WriteLine(ConsoleColor.White, String.Format("\nXmlException\nLineNumber: {0}\nLinePosition:\n {1} \nMessage: {2}", xmlException.LineNumber, xmlException.LinePosition, xmlException.Message));
}
catch (Exception e)
{
ColorConsole.WriteLine(ConsoleColor.White, String.Format("\nException\nMessage:\n {0} \nStackTrace:\n {1}", e.Message, e.StackTrace));
}
finally
{
sgmlReader.Close();
}
}
// ...
#endregion
}
}
Что посоветуете и с чего лучше начинать?