110,534
社区成员
发帖
与我相关
我的任务
分享
private void downloadsgf(string token, string dirpath, int max)
{
int i = id_idx;
if (id_idx > max)
{
importCts.Cancel();
id_idx1++;
return;
}
id_idx++;
Thread ts = new Thread(new ThreadStart(info));
ts.IsBackground = true;
ts.Start();
//Console.Beep(1000, 100);
//Debug.WriteLine(i.ToString());
string postString = @"pid=" + i.ToString() +
@"&csrfmiddlewaretoken=" + token;
string downurl1 = @"******************";
string responsetext = string.Empty;
HttpStatusCode statuscode = HttpHelper.GetResponse(ref responsetext, downurl1, "POST", postString);
if (!responsetext.Contains(@"/"))
{
resultmsg += @"返回文件链接错误" + i + " responsetext:" + responsetext + Environment.NewLine;
id_idx1++;
return;
}
string[] aryfilename = responsetext.Split('\"');
string filename = aryfilename[aryfilename.Length - 2];
//Clipboard.SetDataObject(responsetext, true);
if (filename == "result")
{
resultmsg += @"文件名解析错误:" + i + " " + filename + Environment.NewLine;
return;
}
string downurl2 = @"**************" + Uri.EscapeUriString(filename);
statuscode = HttpHelper.GetResponse(ref responsetext, downurl2, "Get", string.Empty);
if (statuscode == HttpStatusCode.OK)
{
int idx = filename.LastIndexOf('/');
filename = filename.Substring(idx + 1, filename.Length - idx - 1);
filename = filterFilename(filename);
FileStream fs = new FileStream(dirpath + filename, FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.Write(responsetext); //开始写入
sw.Flush(); //清空缓冲区
sw.Close(); //关闭流
fs.Close();
count_success++;
}
else
{
resultmsg += i + Environment.NewLine;
}
id_idx1++;
}