public string PostPage(string url, NameValueCollection data, string requiredString = null, CookieContainer cookies = null, NameValueCollection customHeaders = null)
{
if (requiredString == null)
requiredString = RequiredString;
string page = null;
int limit = 0;
do
{
Proxy proxy = GetAvalibleProxy();
try
{
if (AnonymousProxyOnly)
{
if (AnonymousProxyOnly && !proxy.IsAnonymous(ProxyJudgeService))
{
continue;
}
}
var bytes = DownloadBytes(url, data, proxy, cookies, customHeaders);
if (bytes != null)
{
page = Encoding.GetString(bytes);
if (!page.Contains(requiredString))
{
proxy.IsOnline = false;
}
else
{
return page;
}
}
}
finally
{
limit++;
proxy.IsBusy = false;
}
limit++;
} while (limit < _numberOfAttemptsPerRequest);
throw new AllProxiesBannedException();
}