public ListData GetListData(string list, IEnumerable<Interval> whilelist, IEnumerable<Interval> blacklist)
{
var requestUrl = String.Format(ApiURL, "downloads", ApiKey, ClientVersion);
var request = (HttpWebRequest)WebRequest.Create(requestUrl);
if (request.Proxy != null)
request.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
request.Method = "POST";
string strwlist = PrintIntervals(whilelist, "a"),
strblist = PrintIntervals(blacklist, "s");
var sb = new StringBuilder();
sb.Append(list);
sb.Append(";");
if (strwlist.Length > 0)
{
sb.Append(strwlist);
sb.Append(':');
}
if (strblist.Length > 0)
sb.Append(strblist);
sb.Append('\n');
var s = request.GetRequestStream();
var content = Encoding.ASCII.GetBytes(sb.ToString());
s.Write(content, 0, content.Length);
s.Close();
var response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode != HttpStatusCode.OK)
return null;
//read individual redirect addresses
var data = ParseListData(response.GetResponseStream());
return data;
}