[Delphi] Lees HTML data van een website

Pagina: 1
Acties:

  • AquilaDus
  • Registratie: Januari 2004
  • Laatst online: 21-03 00:33
Ik ben bezig met het maken van een klein componentje in Delphi en omdat ik die code al eens geschreven heb in C# probeer ik deze nu te porten naar Delphi. In deze code zitten 2 procedures die data van een website lezen. Een van deze 2 moet ook nog bepaalde postdata meesturen.
De onderdelen van de procedures zien er in C# als volgt uit:

Deel van procedure 1 (zonder postdata):
C#:
1
2
3
4
5
ASCIIEncoding myEncoder = new ASCIIEncoding();
WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] bHTML = myWebClient.DownloadData(this.DepatureUrl);
strHTML = myEncoder.GetString(bHTML);


Deel van procedure 2 (met postdata):
C#:
1
2
3
4
5
6
7
ASCIIEncoding myEncoder = new ASCIIEncoding();
string postdata = "stop=" + StationAbbreviation + "&selectedStation=" + StationName;    
byte[] Bdata = myEncoder.GetBytes(postdata);
WebClient myWebClient = new WebClient();
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] bHTML = myWebClient.UploadData(this.DepatureUrl, "POST", Bdata);
strHTML = myEncoder.GetString(bHTML);


Mijn doel is dus om de HTML terug te krijgen in de variabele strHTML. Hoe doe ik dat voor deze 2 gevallen in Delphi? Ik heb vanalles gezien, maar die methoden waren nogal omslachtig en daarmee kon je niet posten.
Dus als iemand de oplossing weet dan zou ik blij zijn.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Het handigste is een component gebruiken voor het HTTP protocol, zoals bijvoorbeeld Indy's TIdHTTP. Dit component heeft gewoon functies zoals TIdHTTP.Get en TIdHTTP.Post waarbij je een url meegeeft en het resultaat terug komt als string. Ook extra informatie die je wilt meesturen met het component kan je daar kwijt. Probeer het daar eens mee. Als je dan vast komt te zitten kan je hier je code posten die je hebt een aangeven waar je vast zit.

We adore chaos because we like to restore order - M.C. Escher


  • AquilaDus
  • Registratie: Januari 2004
  • Laatst online: 21-03 00:33
Ik ben er mee aan de slag gegaan en het ziet er veel belovend uit. Hartstikke bedankt voor de tip.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Delphi of Delphi.NET ;) Want in Delphi.NET kun je natuurlijk je C# code gebruiken via Paste to Delphi functie.