Tutorials to .com

Tutorials to .com » Dotnet » Foundation » Request for the URL and parse the returned html

Request for the URL and parse the returned html

Print View , by: iSee ,Total views: 16 ,Word Count: 717 ,Date: Tue, 25 Aug 2009 Time: 10:00 AM

Purpose, the remote server returned Html, resolved to classes inside the GridView and other data sources
1, Post data to a remote server,
public int PostData (string url, string data, out string info)
(

info = "";
CookieContainer C++ = new CookieContainer ();
HttpWebRequest request = WebRequest.Create (url) as HttpWebRequest;
request.CookieContainer = cc;
request.Method = "POST";
request.ContentType = "application / x-www-form-urlencoded";
Stream requestStream = request.GetRequestStream ();
byte [] byteArray = Encoding.UTF8.GetBytes (data);
requestStream.Write (byteArray, 0, byteArray.Length);
requestStream.Close ();
HttpWebResponse response = request.GetResponse () as HttpWebResponse;
Uri responseUri = response.ResponseUri;
Stream receiveStream = response.GetResponseStream ();
Encoding encode = System.Text.Encoding.GetEncoding ( "utf-8");
StreamReader readStream = new StreamReader (receiveStream, encode);
string result = readStream.ReadToEnd ();
info = result;
return 0;

) 2, parse the returned html, there are omitted
public ClassInfo [] GetClass (string html)
(

ArrayList ar = new ArrayList ();
ArrayList arr = new ArrayList ();
string table = "";
Regex regtable = new Regex (@"(?<=< table .*>).*?(?=</ table>) ", RegexOptions.Singleline);
Match ma = regtable.Match (html);
while (ma.Success)
(
if (ma.Value.Trim ()! = "")
(
arr.Add (HttpUtility.HtmlDecode (ma.Value));
)
ma = ma.NextMatch ();
)
for (int i = 0; i <arr.Count; i + +)
(
table = arr [i]. ToString () + table;
)


Regex reg = new Regex (@"(?<=<.*?>).*?(?=<.*?>)", RegexOptions.Singleline);
Match m = reg.Match (table);


while (m.Success)
(
if (m.Value.Trim ()! = "")
(

ar.Add (HttpUtility.HtmlDecode (m.Value));
)
m = m.NextMatch ();
)


ClassInfo [] ci = new ClassInfo [classno];
for (int i = 0; i <classno; i + +)
(
ci [i] = new ClassInfo ();
ci [i]. RegisterDate = (ar [i * 8 + 0]). ToString ();

ci [i]. LoginDate = (ar [i * 8 + 1]). ToString ();
ci [i]. LogoutDate = (ar [i * 8 + 2]). ToString ();
ci [i]. UseMin = ar [i * 8 + 3]. ToString ();
ci [i]. ClassName = ar [i * 8 + 5]. ToString ();
ci [i]. ClassType = ar [i * 8 + 6]. ToString ();
ci [i]. Percent = ar [i * 8 + 7]. ToString ();

)

return ci;


)
3, define ClassInfo class (course type), with CodeSmith generates
public class ClassInfo
(
Member Variables # region Member Variables


protected string _loginDate;
protected string _logoutDate;
protected string _registerDate;
protected string _useMin;
protected string _className;
protected string _classType;
protected string _percent;
/ / protected string _nouse;
# endregion

Constructors # region Constructors

public ClassInfo () ()

public ClassInfo (string loginDate, string logoutDate, string registerDate, string useMin, string className, string classType, string percent)
(
this._loginDate = loginDate;
this._logoutDate = logoutDate;
this._registerDate = registerDate;
this._useMin = useMin;
this._className = className;
this._classType = classType;
this._percent = percent;
)

# endregion

Public Properties # region Public Properties
/ / Public string NoUse
/ / (
/ / Get (return _nouse;)
/ / Set (_nouse = value;)
/ /)

public string LoginDate
(
get (return _loginDate;)
set (_loginDate = value;)
)

public string LogoutDate
(
get (return _logoutDate;)
set (_logoutDate = value;)
)

public string RegisterDate
(
get (return _registerDate;)
set (_registerDate = value;)
)

public string UseMin
(
get (return _useMin;)
set (_useMin = value;)
)

public string ClassName
(
get (return _className;)
set
(
if (value! = null & & value.Length> 50)
throw new ArgumentOutOfRangeException ( "Invalid value for ClassName", value, value.ToString ());
_className = value;
)
)

public string ClassType
(
get (return _classType;)
set
(
if (value! = null & & value.Length> 50)
throw new ArgumentOutOfRangeException ( "Invalid value for ClassType", value, value.ToString ());
_classType = value;
)
)

public string Percent
(
get (return _percent;)
set
(
if (value! = null & & value.Length> 50)
throw new ArgumentOutOfRangeException ( "Invalid value for Percent", value, value.ToString ());
_percent = value;
)
)

# endregion
)

http://bluewater.cnblogs.com/archive/2006/06/19/429720.html


.NET foundation Articles


Can't Find What You're Looking For?


Rating: Not yet rated

Comments

No comments posted.