Există o modalitate de a citi de pe un site web, o linie la un moment dat?

Am acest cod:

string downloadedString;
System.Net.WebClient client;

client = new System.Net.WebClient();

downloadedString = client.DownloadString(
     "http://thebnet.x10.mx/HWID/BaseHWID/AlloweHwids.txt");

Este o securitate de tip HWID (va verifica HWID pentru a vedea dacă vi se permite să utilizați programul)

Oricum, vreau să pot pune mai multe linii pe rând, de exemplu:

xjh94jsl <-- Not a real HWID
t92jfgds <-- Also not real

Și să fie capabil să citească fiecare rând, unul câte unul, și actualizați-l la downloadedString.

5

1 răspunsuri

Nu descărcați urlul ca un șir, citiți-l ca pe un flux.

using System.IO;
using System.Net;

var url ="http://thebnet.x10.mx/HWID/BaseHWID/AlloweHwids.txt";
var client = new WebClient();
using (var stream = client.OpenRead(url))
using (var reader = new StreamReader(stream))
{
    string line;
    while ((line = reader.ReadLine()) != null)
    {
       //do stuff
    }
}
18
adăugat
Acest lucru, de asemenea, descarcă fișierul o singură linie la un moment dat sau toate simultan?
adăugat autor orad, sursa
Am nevoie de o referință pentru a folosi asta?
adăugat autor Minicl55, sursa
Nu știu. Îmi continuă să-mi dau o eroare că lipsește o referință de asamblare pentru a folosi StreamReader și WebClient.
adăugat autor Minicl55, sursa
O referință la ce?
adăugat autor Jeff Mercado, sursa
Oh, acestea sunt în spații de nume diferite. StreamReader se află în spațiul de nume System.IO și WebClient se află în spațiul de nume System.Net . Doar adăugați folosind directivele în partea de sus a fișierului dvs. și ar trebui să fie aur.
adăugat autor Jeff Mercado, sursa
@orad: îl transmiteți în flux, dar prelucrați datele într-o singură linie la un moment dat. Cred că va descărca tot ce se poate potrivi într-un tampon și citește mai mult pe măsură ce citești, dar nu știu sigur.
adăugat autor Jeff Mercado, sursa