HTTP kérés C#-ban

Most meg szeretném mutatni, hogy hogyan lehet lementeni egy weboldal forráskódját, hogy abból fel tudjam dolgozni szükséges adatokat. A megállók neveivel és koordinátáival szerencsém volt, mert megtaláltam egy oldal forráskódjában az összes nevet és koordinátát (buszok, villamosok, trolik). Ez után csak fel kellett dolgoznom ezeket, amiről az előzőbejegyzésem szólt. De sajnos az indulási idők lekérése nem ilyen egyszerű.

Van egy weboldal, ami magába foglalja a összes menetrendet. Itt, ha kiválasztjuk a járatot, akkor az URL cím változik, azaz ha a 10-es választom ki akkor ezt látom: “http://…/10/…”. Erről a weboldalról le tudnám szedni HTTP kéréssel az összes járatnak az menetrendjét, csak ennek forráskódjában nincsenek benne a menetrendadatok. C#-ban a HTTP kérést az MSDN-en lévő lépések szerint próbáltam ki, és helyesen működött.

WebRequest request = WebRequest.Create("http://www.valami.hu/");
request.Credentials = CredentialCache.DefaultNetworkCredentials;
((HttpWebRequest)request).UserAgent = ".NET Framework Example Client";
request.Method = "POST";
request.Timeout = 5000;

string postData = "This is a test that posts this string to a Web server.";
byte[] byteArray = Encoding.UTF8.GetBytes(postData);

request.ContentLength = byteArray.Length;
request.ContentType = "application/x-www-form-urlencoded";

Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);

Stream data = response.GetResponseStream();
StreamReader reader = new StreamReader(data);
string responseFromServer = reader.ReadToEnd();

Console.WriteLine(responseFromServer);
reader.Close();
response.Close();

A cím a következő: http://msdn.microsoft.com/en-us/library/debx8sh9.aspx.

De mivel ezen az oldalon nem tudom elérni forráskódban a menetrend adatait, így egyesével kell leszednem a járatokhoz tartozó weboldal forráskódját egy másik oldalról. A villamosok, trolik pedig csak PDF formátumban vannak meg így azt is egyenként kell feldolgozni valamilyen módon, hogy XML-é tudjam alakítani.

Üdv.
Emese

Leave a Reply