public string getSeasonPokemonDetail(int battleType) { string url = "http://3ds.pokemon-gl.com/frontendApi/gbu/getSeasonPokemonDetail"; AccessHandler db = new AccessHandler(mostUpdated); db.createTablePkDetail(battleType); for (int i = 0; i < pkIdList.Count; i++) { string pkId = pkIdList[i].ToString(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = GlobalConstants.CONTENTTYPE; request.Referer = GlobalConstants.REFERER; string data = "languageId=2&seasonId=" + curSeasonId + "&battleType=" + battleType + "&timezone=EST&pokemonId=" + pkId + "&displayNumberWaza=20&displayNumberTokusei=3&displayNumberSeikaku=3&displayNumberItem=3&displayNumberLevel=10&displayNumberPokemonIn=1&displayNumberPokemonDown=1&displayNumberPokemonDownWaza=1"; request.ContentLength = Encoding.ASCII.GetByteCount(data); StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII); writer.Write(data); writer.Flush(); writer.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); bool status = JsonParser.seasonPokemonDetail(db, battleType, pkId, reader.ReadToEnd()); if (!status) { bkWorker.ReportProgress(1, "请求精灵编号" + pkId + "数据失败\r\n"); } finished++; if (finished % 10 == 0) { stopwatch.Stop(); TimeSpan timeSpan = stopwatch.Elapsed; int secondsRemain = (int)(timeSpan.TotalSeconds * (total - finished) / finished); bkWorker.ReportProgress(0, new int[] { finished *100 / total, secondsRemain }); stopwatch.Start(); } reader.Close(); } db.closeDatabase(); return(generation + " " + GlobalConstants.BATTLENAME[battleType] + "数据更新完成\r\n"); }
public void setTable(int battleType, string sqlFile) { db.createTablePkDetail(battleType); FileStream aFile = new FileStream(sqlFile, FileMode.Open); StreamReader sr = new StreamReader(aFile); string line = sr.ReadLine(); while (line != null) { db.ExecuteSQLNonquery(line); line = sr.ReadLine(); } sr.Close(); aFile.Close(); }