Suriin ang listahan ng proxy na may limitadong pagkasabay
Limitahan ang sabay na pagsusuri ng proxy at itala kung ano ang tunay na napatunayan ng bawat pagsusuri para sa target na website.
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);
});Gumamit ng limitadong pool ng manggagawa sa halip na maglunsad ng isang gawain para sa bawat endpoint. Para sa mga pagsusuri laban sa pinahihintulutang pampublikong target, libreng listahan ng proxy ang nagbibigay ng mga kandidatong hilera; panatilihin ang protocol ng bawat entry kapag binubuo ang probe. Ipinapalagay ng .NET scheduling fragment na ito ang isang ProbeAsync na may kamalayan sa proxy at isang kolektor na observations na ligtas sa thread. Ang walo ay isang halimbawang hangganan, hindi nasusukat na pinakamabuti. Kailangan pa rin ng probe ang mga limitasyon sa bawat pagtatangka at pagkansela ng buong trabaho.
Itago ang bawat natapos na resulta kasama ang input nito kahit magkaiba ang pagkakasunod-sunod ng pagtatapos. Itala ang protocol, endpoint, target, method, lumipas na oras at kinalabasan. Ang pagkabigo ng koneksyon, pagtanggi sa pag-login sa proxy, tinanggihang CONNECT at natanggap na tugon mula sa site ay magkakaibang obserbasyon.
Ang pagbukas ng TCP port ay hindi nagpapatunay ng negosasyon sa proxy. Ang pagkuha ng address ng proxy bilang isang website ay iba rin sa paggamit nito upang hilingin ang target.
Piliin ang target at method ayon sa kinakailangang kakayahan. Ang HEAD ay makakatipid sa trapiko ng katawan ngunit hindi nagpapatunay na ang GET ay nagbabalik ng kapaki-pakinabang na nilalaman; maaaring tanggihan ng isang site ang isa at payagan ang iba. Ang HTTPS ay nagdaragdag ng CONNECT at TLS ng destinasyon na wala sa simpleng HTTP. Ang address ng labasan ay isa pang obserbasyon sa panig ng destinasyon, hiwalay sa naka-configure na pasukan.
Pinipigilan ng limitadong trabaho ang tagasuri na maubos ang sariling socket, memorya o scheduler bago nito masuri ang ruta. Ang hakbang-hakbang na resulta ay nananatiling kapaki-pakinabang sa patakaran ng pagpili nang hindi nagpapanggap na ang isang matagumpay na destinasyon ay ginagawang pangkalahatang mabuti ang isang endpoint.