Proxy lista ellenőrzése korlátozott párhuzamossággal
Korlátozza a párhuzamos proxy-ellenőrzéseket, és rögzítse, mit bizonyított ténylegesen az egyes ellenőrzés a célwebhely számára.
var options = new ParallelOptions
{
MaxDegreeOfParallelism = 8,
CancellationToken = cancellationToken
};
await Parallel.ForEachAsync(endpoints, options,
async (endpoint, token) =>
{
var result = await ProbeAsync(endpoint, target, token);
observations.Add(result);
});Korlátozott munkásmedencét használjon ahelyett, hogy minden végponthoz külön feladatot indítana. Az engedélyezett nyilvános célok elleni ellenőrzésekhez az ingyenes proxy lista ad jelöltsorokat; a próba építésekor őrizze meg az egyes bejegyzések protokollját. Ez a .NET ütemezési részlet proxy-tudatos ProbeAsync-et és szálbiztos observations gyűjtőt feltételez. A nyolc szemléltető korlát, nem mért optimum. A próbának továbbra is kellenek próbánkénti korlátok és a teljes feladat megszakítása.
Minden befejezett eredményt a bemenetével együtt tartson meg, még ha a befejezés sorrendje eltér is. Rögzítse a protokollt, végpontot, célt, módszert, eltelt időt és eredményt. A kapcsolódási hiba, a proxy-bejelentkezés elutasítása, az elutasított CONNECT és a webhelyről kapott válasz különböző megfigyelések.
Egy TCP-port megnyílása nem bizonyítja a proxy egyeztetését. A proxy címének webhelyként való letöltése szintén más, mint a cél kérésére használni.
A célt és a módszert a szükséges képesség szerint válassza. A HEAD takaríthat a törzstorgalmon, de nem bizonyítja, hogy a GET használható tartalmat ad vissza; egy webhely az egyiket elutasíthatja, a másikat engedélyezheti. A HTTPS hozzáadja a CONNECT-et és a cél TLS-t, amelyek a sima HTTP-ből hiányoznak. A kilépési cím a céloldal másik megfigyelése, a beállított belépéstől elkülönítve.
A korlátozott munka megakadályozza, hogy az ellenőrző kimerítse saját socketjeit, memóriáját vagy ütemezőjét, mielőtt felmérhetné az útvonalat. A szakaszos eredmény hasznos marad a kiválasztási szabályzatnak anélkül, hogy azt sugallná, egyetlen sikeres cél univerzálisan jóvá tesz egy végpontot.