CHPP Development/C: Difference between revisions
From Hattrick
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 105: | Line 105: | ||
*Apologies | *Apologies for the messy code - but it does work, although it might need a little tidying up!! If you have any queries on any of this code please do not hesitate to contact me: dubbies @ Project Zero (on Hatrick) ;) | ||
Revision as of 21:51, 22 September 2006
Step 1. Connecting to a recommended Server
static public String getRecommendedServer()
{
DataSet xmlDataSet = new DataSet();
DataTable xmlDataTable = new DataTable();
xmlDataSet.ReadXml("http://www.hattrick.org/common/menu.asp?outputType=XML");
xmlDataTable = xmlDataSet.Tables[0];
DataRow [] xmlDataRow = xmlDataTable.Select("", "",DataViewRowState.CurrentRows);
return (xmlDataRow[0]["RecommendedURL"].ToString());
}
Step 2. Sign-In
CookieCollection CookiesCol;
public String signIn()
{
try
{
String userName = "YOURUSERNAME";
String securityCode = "YOURPASSWORD";
String myUserAgent = "YOURAPPNAME/v1.0";
string lcUrl = recommendedURL + "/common/default.aspoutputType=XML&actionType=login&loginType=CHPP&Loginname=" +
userName + "&readonlypassword=" + securityCode;
HttpWebRequest loHttp = loHttp = (HttpWebRequest)WebRequest.Create(lcUrl);
loHttp.UserAgent = myUserAgent;
loHttp.CookieContainer = new CookieContainer();
if (CookiesCol != null && CookiesCol.Count > 0)
loHttp.CookieContainer.Add(CookiesCol);
HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
CookiesCol = loWebResponse.Cookies;
if (loWebResponse.Cookies.Count > 0)
CookiesCol = loWebResponse.Cookies;
Encoding enc = Encoding.GetEncoding(1252);
StreamReader loResponseStream = new StreamReade(loWebResponse.GetResponseStream (), enc);
String lcHtml = loResponseStream.ReadToEnd();
loWebResponse.Close();
loResponseStream.Close();
return lcHtml;
}
catch (Exception e)
{
return e.Message;
}
}
Step 3. Retrieve Data
public static String downloadTeamDetails()
{
try
{
String downloadUrl = recommendedServerURL +
"/common/teamDetails.asp?outputType=XML&actionType=view";
// Establish the request
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(downloadUrl);
// Set properties
request.UserAgent = myUserAgent;
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cCollection[0]);
// Retrieve request info headers
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Encoding enc = Encoding.GetEncoding(1252);
StreamReader responseStream = new StreamReader(response.GetResponseStream(),enc);
String outputTEMP = responseStream.ReadToEnd();
//TO DO - here will eventually write to file!!
response.Close();
responseStream.Close();
return outputTEMP;
}
catch (Exception e)
{
return e.StackTrace;
}
}
Step 4. Sign-Out (Logout)
public static void signOut()
{
try
{
string closeUrl = recommendedServerURL + "/common/default.asp?outputType=XML&actionType=logout";
// Establish the request
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(closeUrl);
// Set properties
request.UserAgent = myUserAgent;
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cCollection[0]);
// Retrieve request info headers
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Windows default Code Page
Encoding enc = Encoding.GetEncoding(1252);
//no need to open input stream, just connect
response.Close();
}
catch (Exception e)
{
MessageBox.Show(e.StackTrace);
}
}
- Apologies for the messy code - but it does work, although it might need a little tidying up!! If you have any queries on any of this code please do not hesitate to contact me: dubbies @ Project Zero (on Hatrick) ;)