艾伟_转载:尝试通过HttpWebRequest向TAOBAO批量发布商品及上传图片

  朋友开了个淘宝店,所以经常要将新商品及图片发布到网店里,而且有时还需要上传很多商品。如果手工一条一个商品的上传未免太花时间,所以我就琢磨着能否用WinForm写个程序通过WebRequest发送POST/GET请求来达到这个目的。由于上传上品时即有普通的Form字段信息需要提交,还需要上传图片,所以在写HttpWebRequest时参考了这个帖子http://bytes.com/topic/c-sharp/answers/268661-how-upload-file-via-c-codeHow upload file via c# code?

  在淘宝网上发布一个商品大体分为两个步骤(即两个页面,实际都是提交到同各URL进行处理的:http://sell.taobao.com//auction/publish/publish.htm),第一个步骤为选择商品的分类,第二个步骤为填写商品的信息及相关照片。

 

  通过IEInspector软件观察第二个步骤提交后的http请求的RAW Stream大致为:

POST /auction/publish/publish.htm HTTP/1.1Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-fla
sh, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocume
nt, application/xaml+xml, application/x-silverlight, application/vnd.ms-excel, application
/msword, application/vnd.ms-powerpoint, */*Referer: http://sell.taobao.com/auction/publish/publish.htmAccept-Language: zh-cnUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 
2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)Content-Type: multipart/form-data; boundary=---------------------------7d9da39c0084Accept-Encoding: gzip, deflateHost: sell.taobao.comContent-Length: 217424Connection: Keep-AliveCache-Control: no-cacheCookie: po=50008882_100.0_14_0.0_%E5%8C%.; sellTbToken=%2Ceee15ee6bb
aee%237856351072575161%2Ce87e3fe110be1%237856331541398694

-----------------------------7d9da39c0084Content-Disposition: form-data; name="action"

publish/publishAction-----------------------------7d9da39c0084Content-Disposition: form-data; name="isMImageUser"

-----------------------------7d9da39c0084Content-Disposition: form-data; name="_fma.pu._0.ca"

50008882-----------------------------7d9da39c0084Content-Disposition: form-data; name="_fma.pu._0.i"

NDczYzE0MjI3Yzc4ZTczOGI2ZGQ3ZjJiYThjMGZkYWEgYjc2MGM1MDBjYWVjYmFlN2I0MzRlZ
jQwZTIzOGI0NWIgMTI1NTc1MDA0NjQwNA==-----------------------------7d9da39c0084

-----------------------------7d9da39c0084Content-Disposition: form-data; name="_fma.pu._0.ima"; filename="DSC_6873.JPG"Content-Type: image/pjpeg

…..

  所以在做这个http请求前,我们需要先准备好几个东西,即Cookie值、_fma.pu._0.i值和sellTbToken的值。

  获取Cookie值最理想的办法就是用WebHttpRequest模拟登录过程向服务器发出包含用户名和密码的Http请求,等服务器登录成功后HttpResponse里包含的Set-Cookie部分就有我们要找的Cookie值。由于现在TaoBao的登录页面输入密码部分采用了插件方式,好像在发出请求前插件会生成一个Token之类的,所以简单的WebHttpRequest发送登录请求达不到我们的目的,至于他的登录安全加密过程具体是怎么回事,我也没有足够时间去探个究竟,只好放弃了这个获取Cookie的方式。最后索性用最原始的方法,即在web页面上登录TaoBao,然后用IEInspector来跟踪返回的数据包,将其中的Cookie部分copy出来直接用就可以了。

   

  接下来就是获取_frma.pu._0.i的值了,其实这个值是干什么用的我也不知道。通过观察,发现这个值最初出现的地方是用GET请求URLhttp://sell.taobao.com//auction/publish/publish.htm?auction_type=b&auth_alert=true后返回的HTML文本里,是以hidden的input形式出现的。所以我就在代码里模拟这个过程并解析出这个值:

    private string GetFmaPu_0i()    {string actionUrl = "http://sell.taobao.com//auction/publish/publish.htm?auction_ty
pe=b&auth_alert=true";        HttpWebRequest httpWebRequest = WebRequest.Create(actionUrl) as HttpWebR
equest;        httpWebRequest.Method = "GET";        httpWebRequest.Headers["Cookie"] = txtCookie.Text; 

WebResponse webResponse = httpWebRequest.GetResponse();           Stream stream = webResponse.GetResponseStream();           StreamReader rd = new StreamReader(stream, Encoding.GetEncoding("gb231
2"));string ouptText = rd.ReadToEnd();

rd.Close();           webResponse.Close();

string startStr = "<input type=\"hidden\" name=\"_fma.pu._0.i\" value=\"";           int startPos = ouptText.IndexOf(startStr) + startStr.Length;int endPos = ouptText.IndexOf("\" />", startPos);           return ouptText.Substring(startPos, endPos - startPos);       } 

  对于sellTbToken值的意义我也不明白,只是看名字好像是一个Token。虽然在Cookie里我也发现了一个sellTbToken,但他们的值是不一样的,我没有发现他们之间的联系,例如,在Cookie里的sellTbToken值是%2C33d58361b5b7%2312446852732896952%2Ce337766ee471f%2312317842106832544%2Cebd13373eed76%2312317854579307544%2Cfe3e333de58e6%2313206186303479904%efd65353b8377%239822969650842632%2Cb5b5e7bb31ae%2312957211756764136%2Ce7e883bdd77e3%237273521182867360%2Ce8b1374b13bee%2313038885937950800%2C5780d773e5075%2312322949035362088%2C715735e53ed3b%237439832831399704,而第二步请求中Post Data里sellTbToken的值是5be7931b93e57#9260334924738040。我们要找的这个sellTbToken的值是在填写商品相信信息页面的hidden input里的,所以还是通过httpWebRequest发出POST请求并解析HTML来得到这个值:

private string GetSellTbToken(string fmaPu_0i)        {string actionUrl = "http://sell.taobao.com/auction/publish/publish.htm";

NameValueCollection paras = new NameValueCollection();            paras.Add("_fma.pu._0.ca", "50008882");            paras.Add("_fma.pu._0.cat", "20000%3A29973");            paras.Add("action", "publish%2FpublishAction");            paras.Add("event_submit_do_input_auction_info", "1");            paras.Add("_fma.pu._0.i", fmaPu_0i);            paras.Add("_fma.pu._0.x", "");            paras.Add("_fma.pu._0.a", "b");            paras.Add("_fma.pu._0.t", "");            paras.Add("_fma.pu._0.pi", "");            paras.Add("isEdit", "");            paras.Add("isHaveImageExtra", "");            paras.Add("_fma.pu._0.cat", "20000%3A29973");            paras.Add("_fma.pu._0.d", "");            paras.Add("_fma.pu._0.q", "10");            paras.Add("_fma.pu._0.du", "14");            paras.Add("_fma.pu._0.stu", "5");            paras.Add("_fma.pu._0.m", "");            paras.Add("_fma.pu._0.bu", "0");            paras.Add("_fma.pu._0.in", "0.0");            paras.Add("_fma.pu._0.pro", "%B1%B1%BE%A9");            paras.Add("_fma.pu._0.c", "%B1%B1%BE%A9");            paras.Add("_fma.pu._0.sh", "1");            paras.Add("_fma.pu._0.se", "0.0");            paras.Add("_fma.pu._0.sec", "0.0");            paras.Add("_fma.pu._0.secu", "0.0");            paras.Add("_fma.pu._0.pa", "%BF%EE%B5%BD%B7%A2%BB%F5");            paras.Add("_fma.pu._0.h", "0");            paras.Add("_fma.pu._0.ha", "0");            paras.Add("_fma.pu._0.secur", "1");            paras.Add("_fma.pu._0.r", "A");            paras.Add("_fma.pu._0.auc", "0");            paras.Add("_fma.pu._0.st", "");            paras.Add("_fma.pu._0.sto", "");            paras.Add("_fma.pu._0.e", "false");            paras.Add("_fma.pu._0.fr", "");            paras.Add("_fma.pu._0.sho", "%2C143119754%2C");            paras.Add("_fma.pu._0.aut", "false");            paras.Add("_fma.pu._0.b", "100.0");            paras.Add("oldDesc", "");            paras.Add("oldStory", "");            paras.Add("productRootCat", "");            paras.Add("productId", "");            paras.Add("oldCat", "");            paras.Add("oldSpuId", "");            paras.Add("oldCategoryProperty", "");            paras.Add("_fma.pu._0.isa", "false");            paras.Add("_fma.pu._0.po", "2047393");            paras.Add("_fma.pu._0.an", "false");            paras.Add("_fma.pu._0.o", "");            paras.Add("_fma.pu._0.auct", "0.0");            paras.Add("_fma.pu._0.n", "");            paras.Add("_fma.pu._0.isn", "false");            paras.Add("_fma.pu._0.iso", "false");            paras.Add("_fma.pu._0.s", "");            paras.Add("_fma.pu._0.sk", "");            paras.Add("_fma.pu._0.gtr", "");            paras.Add("_fma.pu._0.g", "");

StringBuilder sbData = new StringBuilder();foreach (string key in paras.Keys)            {if (sbData.Length > 0)                    sbData.Append("&");                sbData.Append(String.Format("{0}={1}",key,paras[key]));            }            sbData.Insert(0, "\r\n");

HttpWebRequest httpWebRequest2 = (HttpWebRequest)WebRequest.Create
(actionUrl);            httpWebRequest2.ContentType = "application/x-www-form-urlencoded";            httpWebRequest2.Method = "POST";            httpWebRequest2.KeepAlive = true;            httpWebRequest2.Credentials = System.Net.CredentialCache.DefaultCredentials;            httpWebRequest2.Headers["Cookie"] = txtCookie.Text;

Stream memStream = new System.IO.MemoryStream();

byte[] btData = Encoding.UTF8.GetBytes(sbData.ToString());            memStream.Write(btData,0,btData.Length);

httpWebRequest2.ContentLength = memStream.Length;

Stream requestStream = httpWebRequest2.GetRequestStream();

memStream.Position = 0;byte[] tempBuffer = new byte[memStream.Length];            memStream.Read(tempBuffer, 0, tempBuffer.Length);            memStream.Close();            requestStream.Write(tempBuffer, 0, tempBuffer.Length);            requestStream.Close();

WebResponse webResponse2 = httpWebRequest2.GetResponse();

Stream stream2 = webResponse2.GetResponseStream();            StreamReader reader2 = new StreamReader(stream2, Encoding.GetEncoding
("gb2312"));

// Get response            string ouptText = reader2.ReadToEnd();

webResponse2.Close();            httpWebRequest2 = null;            webResponse2 = null;

string startStr = "", startPos);return ouptText.Substring(startPos, endPos - startPos);        }

  前面三个值准备好了后(实际上在取后两个值的时候就需要Cookie的支持),我们就可以模拟发起第二步POST请求了,大致代码如下:

Code private void UploadImageToTaoBao(string url, string filePath, NameValueCollection nvc)       {long length = 0;string boundary = "---------------------------" +  DateTime.Now.Ticks.ToString("x");

HttpWebRequest httpWebRequest2 = (HttpWebRequest)WebRequest.Create(url);           httpWebRequest2.ContentType = "multipart/form-data; boundary=" + boundary;           httpWebRequest2.Method = "POST";           httpWebRequest2.Accept = "image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*";           httpWebRequest2.KeepAlive = true;           httpWebRequest2.Credentials = System.Net.CredentialCache.DefaultCredentials;           httpWebRequest2.Headers["Cookie"] = txtCookie.Text;

if (!String.IsNullOrEmpty(filePath) || nvc.Count > 0)           {               boundary = "--" + boundary;               Stream memStream = new System.IO.MemoryStream();

//// seperate bank line               //byte[] blankLine = System.Text.Encoding.ASCII.GetBytes("\r\n");//memStream.Write(blankLine, 0, blankLine.Length);

// Form data               string formdataTemplate = boundary + "\r\nContent-Disposition: form-data; name=\"{0}\";\r\n\r\n{1}\r\n";foreach (string key in nvc.Keys)               {string formitem = string.Format(formdataTemplate, key, nvc[key]);byte[] formitembytes = System.Text.Encoding.GetEncoding("gb2312").GetBytes(formitem);                   memStream.Write(formitembytes, 0, formitembytes.Length);               }

// Image               if (!String.IsNullOrEmpty(filePath))               {string headerTemplate = boundary + "\r\nContent-Disposition: form-data; name=\"{0}\";filename=\"{1}\"\r\nContent-Type: image/pjpeg\r\n\r\n";                   FileInfo fileInfo = new FileInfo(filePath);string header = string.Format(headerTemplate, "_fma.pu._0.ima", fileInfo.Name);byte[] headerbytes = System.Text.Encoding.UTF8.GetBytes(header);                   memStream.Write(headerbytes, 0, headerbytes.Length);

// file content                   FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);byte[] buffer = new byte[1024];

int bytesRead = 0;while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)                   {                       memStream.Write(buffer, 0, bytesRead);                   }                                      fileStream.Close();               }

// End boundary               byte[] boundarybytes = System.Text.Encoding.ASCII.GetBytes("" + boundary + "--");               memStream.Write(boundarybytes, 0, boundarybytes.Length);

httpWebRequest2.ContentLength = memStream.Length;               Stream requestStream = httpWebRequest2.GetRequestStream();

memStream.Position = 0;byte[] tempBuffer = new byte[memStream.Length];               memStream.Read(tempBuffer, 0, tempBuffer.Length);               memStream.Close();               requestStream.Write(tempBuffer, 0, tempBuffer.Length);               requestStream.Close();           }

WebResponse webResponse2 = httpWebRequest2.GetResponse();

Stream stream2 = webResponse2.GetResponseStream();           StreamReader reader2 = new StreamReader(stream2, Encoding.GetEncoding("gb2312"));

// Get response           string strOupt = reader2.ReadToEnd();           Debug.WriteLine(strOupt);           MessageBox.Show("complete!");

webResponse2.Close();           httpWebRequest2 = null;           webResponse2 = null;       }

private void UploadImage()        {string fmaPu_0i = GetFmaPu_0i();string sellTbToken = GetSellTbToken(fmaPu_0i);

string actionUrl = "http://sell.taobao.com/auction/publish/publish.htm";string filePath = "F:\\TestTarget\\DSC_6873.JPG";

NameValueCollection paras = new NameValueCollection();            paras.Add("action", "publish/publishAction");            paras.Add("isMImageUser", "");            paras.Add("_fma.pu._0.ca", "50008882");            paras.Add("_fma.pu._0.i", fmaPu_0i);            paras.Add("_fma.pu._0.au", "");            paras.Add("_fma.pu._0.cat", "20000:29973");            paras.Add("_fma.pu._0.x", "");            paras.Add("_fma.pu._0.e", "false");            paras.Add("_fma.pu._0.f", "");            paras.Add("_fma.pu._0.fr", "");            paras.Add("_fma.pu._0.sho", ",143119754,");            paras.Add("_fma.pu._0.isn", "false");            paras.Add("_fma.pu._0.iso", "false");            paras.Add("catName", "内裤");            paras.Add("selPPay", "false");            paras.Add("_fma.pu._0.sp", "0");            paras.Add("_fma.pu._0.isb", "false");            paras.Add("_fma.pu._0.a", "b");            paras.Add("_fma.pu._0.pa", "1");            paras.Add("_fma.pu._0.b", "100");            paras.Add("_fma.pu._0.secur", "1");            paras.Add("sellTbToken", sellTbToken);            paras.Add("_fma.pu._0.stu", "5");            paras.Add("cp_20000", "20000:29973");            paras.Add("cp_1632501", "");            paras.Add("cp_2097794", "2097794:20533");            paras.Add("cp_2046485", "");            paras.Add("cp_2047903", "");            paras.Add("cp_2048150", "");            paras.Add("cp_1627883", "");            paras.Add("cp_1627884", "");            paras.Add("cp_1627886", "");            paras.Add("_fma.pu._0.t", "内裤001");            paras.Add("t", "100");            paras.Add("at", "1");            paras.Add("_fma.pu._0.in", "0");            paras.Add("_fma.pu._0.m", "100");            paras.Add("cpva_1627207:3232483", "");            paras.Add("cpva_1627207:3232484", "");            paras.Add("cpva_1627207:3232481", "");            paras.Add("cpva_1627207:90554", "");            paras.Add("cpva_1627207:28332", "");            paras.Add("cpva_1627207:30156", "");            paras.Add("cpva_1627207:60092", "");            paras.Add("cpva_1627207:3232482", "");            paras.Add("cpva_1627207:3232478", "");            paras.Add("cpva_1627207:3232479", "");            paras.Add("cpva_1627207:28340", "");            paras.Add("cpva_1627207:28320", "");            paras.Add("cpva_1627207:3232480", "");            paras.Add("cpva_1627207:80882", "");            paras.Add("cpva_1627207:28329", "");            paras.Add("cpva_1627207:28326", "");            paras.Add("cpva_1627207:28335", "");            paras.Add("cpva_1627207:130164", "");            paras.Add("cpva_1627207:28338", "");            paras.Add("cpva_1627207:132069", "");            paras.Add("cpva_1627207:107121", "");            paras.Add("cpva_1627207:28327", "");            paras.Add("cpva_1627207:28324", "");            paras.Add("cpva_1627207:28341", "");            paras.Add("2067137:28313;1627207:3232483:id", "");            paras.Add("2067137:28313;1627207:3232483:p", "100");            paras.Add("2067137:28313;1627207:3232483:q", "");            paras.Add("2067137:28313;1627207:3232483:tsc", "");            paras.Add("2067137:28313;1627207:3232484:id", "");            paras.Add("2067137:28313;1627207:3232484:p", "100");            paras.Add("2067137:28313;1627207:3232484:q", "");            paras.Add("2067137:28313;1627207:3232484:tsc", "");            paras.Add("2067137:28313;1627207:3232481:id", "");            paras.Add("2067137:28313;1627207:3232481:p", "100");            paras.Add("2067137:28313;1627207:3232481:q", "");            paras.Add("2067137:28313;1627207:3232481:tsc", "");            paras.Add("2067137:28313;1627207:90554:id", "");            paras.Add("2067137:28313;1627207:90554:p", "100");            paras.Add("2067137:28313;1627207:90554:q", "");            paras.Add("2067137:28313;1627207:90554:tsc", "");            paras.Add("2067137:28313;1627207:28332:id", "");            paras.Add("2067137:28313;1627207:28332:p", "100");            paras.Add("2067137:28313;1627207:28332:q", "");            paras.Add("2067137:28313;1627207:28332:tsc", "");            paras.Add("2067137:28313;1627207:30156:id", "");            paras.Add("2067137:28313;1627207:30156:p", "100");            paras.Add("2067137:28313;1627207:30156:q", "");            paras.Add("2067137:28313;1627207:30156:tsc", "");            paras.Add("2067137:28313;1627207:60092:id", "");            paras.Add("2067137:28313;1627207:60092:p", "100");            paras.Add("2067137:28313;1627207:60092:q", "");            paras.Add("2067137:28313;1627207:60092:tsc", "");            paras.Add("2067137:28313;1627207:3232482:id", "");            paras.Add("2067137:28313;1627207:3232482:p", "100");            paras.Add("2067137:28313;1627207:3232482:q", "");            paras.Add("2067137:28313;1627207:3232482:tsc", "");            paras.Add("2067137:28313;1627207:3232478:id", "");            paras.Add("2067137:28313;1627207:3232478:p", "100");            paras.Add("2067137:28313;1627207:3232478:q", "");            paras.Add("2067137:28313;1627207:3232478:tsc", "");            paras.Add("2067137:28313;1627207:3232479:id", "");            paras.Add("2067137:28313;1627207:3232479:p", "100");            paras.Add("2067137:28313;1627207:3232479:q", "");            paras.Add("2067137:28313;1627207:3232479:tsc", "");            paras.Add("2067137:28313;1627207:28340:id", "");            paras.Add("2067137:28313;1627207:28340:p", "100");            paras.Add("2067137:28313;1627207:28340:q", "");            paras.Add("2067137:28313;1627207:28340:tsc", "");            paras.Add("2067137:28313;1627207:28320:id", "");            paras.Add("2067137:28313;1627207:28320:p", "100");            paras.Add("2067137:28313;1627207:28320:q", "");            paras.Add("2067137:28313;1627207:28320:tsc", "");            paras.Add("2067137:28313;1627207:3232480:id", "");            paras.Add("2067137:28313;1627207:3232480:p", "100");            paras.Add("2067137:28313;1627207:3232480:q", "");            paras.Add("2067137:28313;1627207:3232480:tsc", "");            paras.Add("2067137:28313;1627207:80882:id", "");            paras.Add("2067137:28313;1627207:80882:p", "100");            paras.Add("2067137:28313;1627207:80882:q", "");            paras.Add("2067137:28313;1627207:80882:tsc", "");            paras.Add("2067137:28313;1627207:28329:id", "");            paras.Add("2067137:28313;1627207:28329:p", "100");            paras.Add("2067137:28313;1627207:28329:q", "");            paras.Add("2067137:28313;1627207:28329:tsc", "");            paras.Add("2067137:28313;1627207:28326:id", "");            paras.Add("2067137:28313;1627207:28326:p", "100");            paras.Add("2067137:28313;1627207:28326:q", "");            paras.Add("2067137:28313;1627207:28326:tsc", "");            paras.Add("2067137:28313;1627207:28335:id", "");            paras.Add("2067137:28313;1627207:28335:p", "100");            paras.Add("2067137:28313;1627207:28335:q", "");            paras.Add("2067137:28313;1627207:28335:tsc", "");            paras.Add("2067137:28313;1627207:130164:id", "");            paras.Add("2067137:28313;1627207:130164:p", "100");            paras.Add("2067137:28313;1627207:130164:q", "");            paras.Add("2067137:28313;1627207:130164:tsc", "");            paras.Add("2067137:28313;1627207:28338:id", "");            paras.Add("2067137:28313;1627207:28338:p", "100");            paras.Add("2067137:28313;1627207:28338:q", "");            paras.Add("2067137:28313;1627207:28338:tsc", "");            paras.Add("2067137:28313;1627207:132069:id", "");            paras.Add("2067137:28313;1627207:132069:p", "100");            paras.Add("2067137:28313;1627207:132069:q", "");            paras.Add("2067137:28313;1627207:132069:tsc", "");            paras.Add("2067137:28313;1627207:107121:id", "");            paras.Add("2067137:28313;1627207:107121:p", "100");            paras.Add("2067137:28313;1627207:107121:q", "");            paras.Add("2067137:28313;1627207:107121:tsc", "");            paras.Add("2067137:28313;1627207:28327:id", "");            paras.Add("2067137:28313;1627207:28327:p", "100");            paras.Add("2067137:28313;1627207:28327:q", "");            paras.Add("2067137:28313;1627207:28327:tsc", "");            paras.Add("2067137:28313;1627207:28324:id", "");            paras.Add("2067137:28313;1627207:28324:p", "100");            paras.Add("2067137:28313;1627207:28324:q", "");            paras.Add("2067137:28313;1627207:28324:tsc", "");            paras.Add("2067137:28313;1627207:28341:id", "");            paras.Add("2067137:28313;1627207:28341:p", "100");            paras.Add("2067137:28313;1627207:28341:q", "");            paras.Add("2067137:28313;1627207:28341:tsc", "");            paras.Add("2067137:28314;1627207:3232483:id", "");            paras.Add("2067137:28314;1627207:3232483:p", "100");            paras.Add("2067137:28314;1627207:3232483:q", "");            paras.Add("2067137:28314;1627207:3232483:tsc", "");            paras.Add("2067137:28314;1627207:3232484:id", "");            paras.Add("2067137:28314;1627207:3232484:p", "100");            paras.Add("2067137:28314;1627207:3232484:q", "");            paras.Add("2067137:28314;1627207:3232484:tsc", "");            paras.Add("2067137:28314;1627207:3232481:id", "");            paras.Add("2067137:28314;1627207:3232481:p", "100");            paras.Add("2067137:28314;1627207:3232481:q", "");            paras.Add("2067137:28314;1627207:3232481:tsc", "");            paras.Add("2067137:28314;1627207:90554:id", "");            paras.Add("2067137:28314;1627207:90554:p", "100");            paras.Add("2067137:28314;1627207:90554:q", "");            paras.Add("2067137:28314;1627207:90554:tsc", "");            paras.Add("2067137:28314;1627207:28332:id", "");            paras.Add("2067137:28314;1627207:28332:p", "100");            paras.Add("2067137:28314;1627207:28332:q", "");            paras.Add("2067137:28314;1627207:28332:tsc", "");            paras.Add("2067137:28314;1627207:30156:id", "");            paras.Add("2067137:28314;1627207:30156:p", "100");            paras.Add("2067137:28314;1627207:30156:q", "");            paras.Add("2067137:28314;1627207:30156:tsc", "");            paras.Add("2067137:28314;1627207:60092:id", "");            paras.Add("2067137:28314;1627207:60092:p", "100");            paras.Add("2067137:28314;1627207:60092:q", "");            paras.Add("2067137:28314;1627207:60092:tsc", "");            paras.Add("2067137:28314;1627207:3232482:id", "");            paras.Add("2067137:28314;1627207:3232482:p", "100");            paras.Add("2067137:28314;1627207:3232482:q", "");            paras.Add("2067137:28314;1627207:3232482:tsc", "");            paras.Add("2067137:28314;1627207:3232478:id", "");            paras.Add("2067137:28314;1627207:3232478:p", "100");            paras.Add("2067137:28314;1627207:3232478:q", "");            paras.Add("2067137:28314;1627207:3232478:tsc", "");            paras.Add("2067137:28314;1627207:3232479:id", "");            paras.Add("2067137:28314;1627207:3232479:p", "100");            paras.Add("2067137:28314;1627207:3232479:q", "");            paras.Add("2067137:28314;1627207:3232479:tsc", "");            paras.Add("2067137:28314;1627207:28340:id", "");            paras.Add("2067137:28314;1627207:28340:p", "100");            paras.Add("2067137:28314;1627207:28340:q", "");            paras.Add("2067137:28314;1627207:28340:tsc", "");            paras.Add("2067137:28314;1627207:28320:id", "");            paras.Add("2067137:28314;1627207:28320:p", "100");            paras.Add("2067137:28314;1627207:28320:q", "");            paras.Add("2067137:28314;1627207:28320:tsc", "");            paras.Add("2067137:28314;1627207:3232480:id", "");            paras.Add("2067137:28314;1627207:3232480:p", "100");            paras.Add("2067137:28314;1627207:3232480:q", "");            paras.Add("2067137:28314;1627207:3232480:tsc", "");            paras.Add("2067137:28314;1627207:80882:id", "");            paras.Add("2067137:28314;1627207:80882:p", "100");            paras.Add("2067137:28314;1627207:80882:q", "");            paras.Add("2067137:28314;1627207:80882:tsc", "");            paras.Add("2067137:28314;1627207:28329:id", "");            paras.Add("2067137:28314;1627207:28329:p", "100");            paras.Add("2067137:28314;1627207:28329:q", "");            paras.Add("2067137:28314;1627207:28329:tsc", "");            paras.Add("2067137:28314;1627207:28326:id", "");            paras.Add("2067137:28314;1627207:28326:p", "100");            paras.Add("2067137:28314;1627207:28326:q", "");            paras.Add("2067137:28314;1627207:28326:tsc", "");            paras.Add("2067137:28314;1627207:28335:id", "");            paras.Add("2067137:28314;1627207:28335:p", "100");            paras.Add("2067137:28314;1627207:28335:q", "");            paras.Add("2067137:28314;1627207:28335:tsc", "");            paras.Add("2067137:28314;1627207:130164:id", "");            paras.Add("2067137:28314;1627207:130164:p", "100");            paras.Add("2067137:28314;1627207:130164:q", "");            paras.Add("2067137:28314;1627207:130164:tsc", "");            paras.Add("2067137:28314;1627207:28338:id", "");            paras.Add("2067137:28314;1627207:28338:p", "100");            paras.Add("2067137:28314;1627207:28338:q", "");            paras.Add("2067137:28314;1627207:28338:tsc", "");            paras.Add("2067137:28314;1627207:132069:id", "");            paras.Add("2067137:28314;1627207:132069:p", "100");            paras.Add("2067137:28314;1627207:132069:q", "");            paras.Add("2067137:28314;1627207:132069:tsc", "");            paras.Add("2067137:28314;1627207:107121:id", "");            paras.Add("2067137:28314;1627207:107121:p", "100");            paras.Add("2067137:28314;1627207:107121:q", "");            paras.Add("2067137:28314;1627207:107121:tsc", "");            paras.Add("2067137:28314;1627207:28327:id", "");            paras.Add("2067137:28314;1627207:28327:p", "100");            paras.Add("2067137:28314;1627207:28327:q", "");            paras.Add("2067137:28314;1627207:28327:tsc", "");            paras.Add("2067137:28314;1627207:28324:id", "");            paras.Add("2067137:28314;1627207:28324:p", "100");            paras.Add("2067137:28314;1627207:28324:q", "");            paras.Add("2067137:28314;1627207:28324:tsc", "");            paras.Add("2067137:28314;1627207:28341:id", "");            paras.Add("2067137:28314;1627207:28341:p", "100");            paras.Add("2067137:28314;1627207:28341:q", "");            paras.Add("2067137:28314;1627207:28341:tsc", "");            paras.Add("2067137:28315;1627207:3232483:id", "");            paras.Add("2067137:28315;1627207:3232483:p", "100");            paras.Add("2067137:28315;1627207:3232483:q", "");            paras.Add("2067137:28315;1627207:3232483:tsc", "");            paras.Add("2067137:28315;1627207:3232484:id", "");            paras.Add("2067137:28315;1627207:3232484:p", "100");            paras.Add("2067137:28315;1627207:3232484:q", "");            paras.Add("2067137:28315;1627207:3232484:tsc", "");            paras.Add("2067137:28315;1627207:3232481:id", "");            paras.Add("2067137:28315;1627207:3232481:p", "100");            paras.Add("2067137:28315;1627207:3232481:q", "");            paras.Add("2067137:28315;1627207:3232481:tsc", "");            paras.Add("2067137:28315;1627207:90554:id", "");            paras.Add("2067137:28315;1627207:90554:p", "100");            paras.Add("2067137:28315;1627207:90554:q", "");            paras.Add("2067137:28315;1627207:90554:tsc", "");            paras.Add("2067137:28315;1627207:28332:id", "");            paras.Add("2067137:28315;1627207:28332:p", "100");            paras.Add("2067137:28315;1627207:28332:q", "");            paras.Add("2067137:28315;1627207:28332:tsc", "");            paras.Add("2067137:28315;1627207:30156:id", "");            paras.Add("2067137:28315;1627207:30156:p", "100");            paras.Add("2067137:28315;1627207:30156:q", "");            paras.Add("2067137:28315;1627207:30156:tsc", "");            paras.Add("2067137:28315;1627207:60092:id", "");            paras.Add("2067137:28315;1627207:60092:p", "100");            paras.Add("2067137:28315;1627207:60092:q", "");            paras.Add("2067137:28315;1627207:60092:tsc", "");            paras.Add("2067137:28315;1627207:3232482:id", "");            paras.Add("2067137:28315;1627207:3232482:p", "100");            paras.Add("2067137:28315;1627207:3232482:q", "");            paras.Add("2067137:28315;1627207:3232482:tsc", "");            paras.Add("2067137:28315;1627207:3232478:id", "");            paras.Add("2067137:28315;1627207:3232478:p", "100");            paras.Add("2067137:28315;1627207:3232478:q", "");            paras.Add("2067137:28315;1627207:3232478:tsc", "");            paras.Add("2067137:28315;1627207:3232479:id", "");            paras.Add("2067137:28315;1627207:3232479:p", "100");            paras.Add("2067137:28315;1627207:3232479:q", "");            paras.Add("2067137:28315;1627207:3232479:tsc", "");            paras.Add("2067137:28315;1627207:28340:id", "");            paras.Add("2067137:28315;1627207:28340:p", "100");            paras.Add("2067137:28315;1627207:28340:q", "");            paras.Add("2067137:28315;1627207:28340:tsc", "");            paras.Add("2067137:28315;1627207:28320:id", "");            paras.Add("2067137:28315;1627207:28320:p", "100");            paras.Add("2067137:28315;1627207:28320:q", "");            paras.Add("2067137:28315;1627207:28320:tsc", "");            paras.Add("2067137:28315;1627207:3232480:id", "");            paras.Add("2067137:28315;1627207:3232480:p", "100");            paras.Add("2067137:28315;1627207:3232480:q", "");            paras.Add("2067137:28315;1627207:3232480:tsc", "");            paras.Add("2067137:28315;1627207:80882:id", "");            paras.Add("2067137:28315;1627207:80882:p", "100");            paras.Add("2067137:28315;1627207:80882:q", "");            paras.Add("2067137:28315;1627207:80882:tsc", "");            paras.Add("2067137:28315;1627207:28329:id", "");            paras.Add("2067137:28315;1627207:28329:p", "100");            paras.Add("2067137:28315;1627207:28329:q", "");            paras.Add("2067137:28315;1627207:28329:tsc", "");            paras.Add("2067137:28315;1627207:28326:id", "");            paras.Add("2067137:28315;1627207:28326:p", "100");            paras.Add("2067137:28315;1627207:28326:q", "");            paras.Add("2067137:28315;1627207:28326:tsc", "");            paras.Add("2067137:28315;1627207:28335:id", "");            paras.Add("2067137:28315;1627207:28335:p", "100");            paras.Add("2067137:28315;1627207:28335:q", "");            paras.Add("2067137:28315;1627207:28335:tsc", "");            paras.Add("2067137:28315;1627207:130164:id", "");            paras.Add("2067137:28315;1627207:130164:p", "100");            paras.Add("2067137:28315;1627207:130164:q", "");            paras.Add("2067137:28315;1627207:130164:tsc", "");            paras.Add("2067137:28315;1627207:28338:id", "");            paras.Add("2067137:28315;1627207:28338:p", "100");            paras.Add("2067137:28315;1627207:28338:q", "");            paras.Add("2067137:28315;1627207:28338:tsc", "");            paras.Add("2067137:28315;1627207:132069:id", "");            paras.Add("2067137:28315;1627207:132069:p", "100");            paras.Add("2067137:28315;1627207:132069:q", "");            paras.Add("2067137:28315;1627207:132069:tsc", "");            paras.Add("2067137:28315;1627207:107121:id", "");            paras.Add("2067137:28315;1627207:107121:p", "100");            paras.Add("2067137:28315;1627207:107121:q", "");            paras.Add("2067137:28315;1627207:107121:tsc", "");            paras.Add("2067137:28315;1627207:28327:id", "");            paras.Add("2067137:28315;1627207:28327:p", "100");            paras.Add("2067137:28315;1627207:28327:q", "");            paras.Add("2067137:28315;1627207:28327:tsc", "");            paras.Add("2067137:28315;1627207:28324:id", "");            paras.Add("2067137:28315;1627207:28324:p", "100");            paras.Add("2067137:28315;1627207:28324:q", "");            paras.Add("2067137:28315;1627207:28324:tsc", "");            paras.Add("2067137:28315;1627207:28341:id", "");            paras.Add("2067137:28315;1627207:28341:p", "100");            paras.Add("2067137:28315;1627207:28341:q", "");            paras.Add("2067137:28315;1627207:28341:tsc", "");            paras.Add("2067137:28316;1627207:3232483:id", "");            paras.Add("2067137:28316;1627207:3232483:p", "100");            paras.Add("2067137:28316;1627207:3232483:q", "");            paras.Add("2067137:28316;1627207:3232483:tsc", "");            paras.Add("2067137:28316;1627207:3232484:id", "");            paras.Add("2067137:28316;1627207:3232484:p", "100");            paras.Add("2067137:28316;1627207:3232484:q", "");            paras.Add("2067137:28316;1627207:3232484:tsc", "");            paras.Add("2067137:28316;1627207:3232481:id", "");            paras.Add("2067137:28316;1627207:3232481:p", "100");            paras.Add("2067137:28316;1627207:3232481:q", "");            paras.Add("2067137:28316;1627207:3232481:tsc", "");            paras.Add("2067137:28316;1627207:90554:id", "");            paras.Add("2067137:28316;1627207:90554:p", "100");            paras.Add("2067137:28316;1627207:90554:q", "");            paras.Add("2067137:28316;1627207:90554:tsc", "");            paras.Add("2067137:28316;1627207:28332:id", "");            paras.Add("2067137:28316;1627207:28332:p", "100");            paras.Add("2067137:28316;1627207:28332:q", "");            paras.Add("2067137:28316;1627207:28332:tsc", "");            paras.Add("2067137:28316;1627207:30156:id", "");            paras.Add("2067137:28316;1627207:30156:p", "100");            paras.Add("2067137:28316;1627207:30156:q", "");            paras.Add("2067137:28316;1627207:30156:tsc", "");            paras.Add("2067137:28316;1627207:60092:id", "");            paras.Add("2067137:28316;1627207:60092:p", "100");            paras.Add("2067137:28316;1627207:60092:q", "");            paras.Add("2067137:28316;1627207:60092:tsc", "");            paras.Add("2067137:28316;1627207:3232482:id", "");            paras.Add("2067137:28316;1627207:3232482:p", "100");            paras.Add("2067137:28316;1627207:3232482:q", "");            paras.Add("2067137:28316;1627207:3232482:tsc", "");            paras.Add("2067137:28316;1627207:3232478:id", "");            paras.Add("2067137:28316;1627207:3232478:p", "100");            paras.Add("2067137:28316;1627207:3232478:q", "");            paras.Add("2067137:28316;1627207:3232478:tsc", "");            paras.Add("2067137:28316;1627207:3232479:id", "");            paras.Add("2067137:28316;1627207:3232479:p", "100");            paras.Add("2067137:28316;1627207:3232479:q", "");            paras.Add("2067137:28316;1627207:3232479:tsc", "");            paras.Add("2067137:28316;1627207:28340:id", "");            paras.Add("2067137:28316;1627207:28340:p", "100");            paras.Add("2067137:28316;1627207:28340:q", "");            paras.Add("2067137:28316;1627207:28340:tsc", "");            paras.Add("2067137:28316;1627207:28320:id", "");            paras.Add("2067137:28316;1627207:28320:p", "100");            paras.Add("2067137:28316;1627207:28320:q", "");            paras.Add("2067137:28316;1627207:28320:tsc", "");            paras.Add("2067137:28316;1627207:3232480:id", "");            paras.Add("2067137:28316;1627207:3232480:p", "100");            paras.Add("2067137:28316;1627207:3232480:q", "");            paras.Add("2067137:28316;1627207:3232480:tsc", "");            paras.Add("2067137:28316;1627207:80882:id", "");            paras.Add("2067137:28316;1627207:80882:p", "100");            paras.Add("2067137:28316;1627207:80882:q", "");            paras.Add("2067137:28316;1627207:80882:tsc", "");            paras.Add("2067137:28316;1627207:28329:id", "");            paras.Add("2067137:28316;1627207:28329:p", "100");            paras.Add("2067137:28316;1627207:28329:q", "");            paras.Add("2067137:28316;1627207:28329:tsc", "");            paras.Add("2067137:28316;1627207:28326:id", "");            paras.Add("2067137:28316;1627207:28326:p", "100");            paras.Add("2067137:28316;1627207:28326:q", "");            paras.Add("2067137:28316;1627207:28326:tsc", "");            paras.Add("2067137:28316;1627207:28335:id", "");            paras.Add("2067137:28316;1627207:28335:p", "100");            paras.Add("2067137:28316;1627207:28335:q", "");            paras.Add("2067137:28316;1627207:28335:tsc", "");            paras.Add("2067137:28316;1627207:130164:id", "");            paras.Add("2067137:28316;1627207:130164:p", "100");            paras.Add("2067137:28316;1627207:130164:q", "");            paras.Add("2067137:28316;1627207:130164:tsc", "");            paras.Add("2067137:28316;1627207:28338:id", "");            paras.Add("2067137:28316;1627207:28338:p", "100");            paras.Add("2067137:28316;1627207:28338:q", "");            paras.Add("2067137:28316;1627207:28338:tsc", "");            paras.Add("2067137:28316;1627207:132069:id", "");            paras.Add("2067137:28316;1627207:132069:p", "100");            paras.Add("2067137:28316;1627207:132069:q", "");            paras.Add("2067137:28316;1627207:132069:tsc", "");            paras.Add("2067137:28316;1627207:107121:id", "");            paras.Add("2067137:28316;1627207:107121:p", "100");            paras.Add("2067137:28316;1627207:107121:q", "");            paras.Add("2067137:28316;1627207:107121:tsc", "");            paras.Add("2067137:28316;1627207:28327:id", "");            paras.Add("2067137:28316;1627207:28327:p", "100");            paras.Add("2067137:28316;1627207:28327:q", "");            paras.Add("2067137:28316;1627207:28327:tsc", "");            paras.Add("2067137:28316;1627207:28324:id", "");            paras.Add("2067137:28316;1627207:28324:p", "100");            paras.Add("2067137:28316;1627207:28324:q", "");            paras.Add("2067137:28316;1627207:28324:tsc", "");            paras.Add("2067137:28316;1627207:28341:id", "");            paras.Add("2067137:28316;1627207:28341:p", "100");            paras.Add("2067137:28316;1627207:28341:q", "");            paras.Add("2067137:28316;1627207:28341:tsc", "");            paras.Add("2067137:28317;1627207:3232483:id", "");            paras.Add("2067137:28317;1627207:3232483:p", "100");            paras.Add("2067137:28317;1627207:3232483:q", "");            paras.Add("2067137:28317;1627207:3232483:tsc", "");            paras.Add("2067137:28317;1627207:3232484:id", "");            paras.Add("2067137:28317;1627207:3232484:p", "100");            paras.Add("2067137:28317;1627207:3232484:q", "");            paras.Add("2067137:28317;1627207:3232484:tsc", "");            paras.Add("2067137:28317;1627207:3232481:id", "");            paras.Add("2067137:28317;1627207:3232481:p", "100");            paras.Add("2067137:28317;1627207:3232481:q", "");            paras.Add("2067137:28317;1627207:3232481:tsc", "");            paras.Add("2067137:28317;1627207:90554:id", "");            paras.Add("2067137:28317;1627207:90554:p", "100");            paras.Add("2067137:28317;1627207:90554:q", "");            paras.Add("2067137:28317;1627207:90554:tsc", "");            paras.Add("2067137:28317;1627207:28332:id", "");            paras.Add("2067137:28317;1627207:28332:p", "100");            paras.Add("2067137:28317;1627207:28332:q", "");            paras.Add("2067137:28317;1627207:28332:tsc", "");            paras.Add("2067137:28317;1627207:30156:id", "");            paras.Add("2067137:28317;1627207:30156:p", "100");            paras.Add("2067137:28317;1627207:30156:q", "");            paras.Add("2067137:28317;1627207:30156:tsc", "");            paras.Add("2067137:28317;1627207:60092:id", "");            paras.Add("2067137:28317;1627207:60092:p", "100");            paras.Add("2067137:28317;1627207:60092:q", "");            paras.Add("2067137:28317;1627207:60092:tsc", "");            paras.Add("2067137:28317;1627207:3232482:id", "");            paras.Add("2067137:28317;1627207:3232482:p", "100");            paras.Add("2067137:28317;1627207:3232482:q", "");            paras.Add("2067137:28317;1627207:3232482:tsc", "");            paras.Add("2067137:28317;1627207:3232478:id", "");            paras.Add("2067137:28317;1627207:3232478:p", "100");            paras.Add("2067137:28317;1627207:3232478:q", "");            paras.Add("2067137:28317;1627207:3232478:tsc", "");            paras.Add("2067137:28317;1627207:3232479:id", "");            paras.Add("2067137:28317;1627207:3232479:p", "100");            paras.Add("2067137:28317;1627207:3232479:q", "");            paras.Add("2067137:28317;1627207:3232479:tsc", "");            paras.Add("2067137:28317;1627207:28340:id", "");            paras.Add("2067137:28317;1627207:28340:p", "100");            paras.Add("2067137:28317;1627207:28340:q", "");            paras.Add("2067137:28317;1627207:28340:tsc", "");            paras.Add("2067137:28317;1627207:28320:id", "");            paras.Add("2067137:28317;1627207:28320:p", "100");            paras.Add("2067137:28317;1627207:28320:q", "");            paras.Add("2067137:28317;1627207:28320:tsc", "");            paras.Add("2067137:28317;1627207:3232480:id", "");            paras.Add("2067137:28317;1627207:3232480:p", "100");            paras.Add("2067137:28317;1627207:3232480:q", "");            paras.Add("2067137:28317;1627207:3232480:tsc", "");            paras.Add("2067137:28317;1627207:80882:id", "");            paras.Add("2067137:28317;1627207:80882:p", "100");            paras.Add("2067137:28317;1627207:80882:q", "");            paras.Add("2067137:28317;1627207:80882:tsc", "");            paras.Add("2067137:28317;1627207:28329:id", "");            paras.Add("2067137:28317;1627207:28329:p", "100");            paras.Add("2067137:28317;1627207:28329:q", "");            paras.Add("2067137:28317;1627207:28329:tsc", "");            paras.Add("2067137:28317;1627207:28326:id", "");            paras.Add("2067137:28317;1627207:28326:p", "100");            paras.Add("2067137:28317;1627207:28326:q", "");            paras.Add("2067137:28317;1627207:28326:tsc", "");            paras.Add("2067137:28317;1627207:28335:id", "");            paras.Add("2067137:28317;1627207:28335:p", "100");            paras.Add("2067137:28317;1627207:28335:q", "");            paras.Add("2067137:28317;1627207:28335:tsc", "");            paras.Add("2067137:28317;1627207:130164:id", "");            paras.Add("2067137:28317;1627207:130164:p", "100");            paras.Add("2067137:28317;1627207:130164:q", "");            paras.Add("2067137:28317;1627207:130164:tsc", "");            paras.Add("2067137:28317;1627207:28338:id", "");            paras.Add("2067137:28317;1627207:28338:p", "100");            paras.Add("2067137:28317;1627207:28338:q", "");            paras.Add("2067137:28317;1627207:28338:tsc", "");            paras.Add("2067137:28317;1627207:132069:id", "");            paras.Add("2067137:28317;1627207:132069:p", "100");            paras.Add("2067137:28317;1627207:132069:q", "");            paras.Add("2067137:28317;1627207:132069:tsc", "");            paras.Add("2067137:28317;1627207:107121:id", "");            paras.Add("2067137:28317;1627207:107121:p", "100");            paras.Add("2067137:28317;1627207:107121:q", "");            paras.Add("2067137:28317;1627207:107121:tsc", "");            paras.Add("2067137:28317;1627207:28327:id", "");            paras.Add("2067137:28317;1627207:28327:p", "100");            paras.Add("2067137:28317;1627207:28327:q", "");            paras.Add("2067137:28317;1627207:28327:tsc", "");            paras.Add("2067137:28317;1627207:28324:id", "");            paras.Add("2067137:28317;1627207:28324:p", "100");            paras.Add("2067137:28317;1627207:28324:q", "");            paras.Add("2067137:28317;1627207:28324:tsc", "");            paras.Add("2067137:28317;1627207:28341:id", "");            paras.Add("2067137:28317;1627207:28341:p", "100");            paras.Add("2067137:28317;1627207:28341:q", "");            paras.Add("2067137:28317;1627207:28341:tsc", "");            paras.Add("2067137:28318;1627207:3232483:id", "");            paras.Add("2067137:28318;1627207:3232483:p", "100");            paras.Add("2067137:28318;1627207:3232483:q", "");            paras.Add("2067137:28318;1627207:3232483:tsc", "");            paras.Add("2067137:28318;1627207:3232484:id", "");            paras.Add("2067137:28318;1627207:3232484:p", "100");            paras.Add("2067137:28318;1627207:3232484:q", "");            paras.Add("2067137:28318;1627207:3232484:tsc", "");            paras.Add("2067137:28318;1627207:3232481:id", "");            paras.Add("2067137:28318;1627207:3232481:p", "100");            paras.Add("2067137:28318;1627207:3232481:q", "");            paras.Add("2067137:28318;1627207:3232481:tsc", "");            paras.Add("2067137:28318;1627207:90554:id", "");            paras.Add("2067137:28318;1627207:90554:p", "100");            paras.Add("2067137:28318;1627207:90554:q", "");            paras.Add("2067137:28318;1627207:90554:tsc", "");            paras.Add("2067137:28318;1627207:28332:id", "");            paras.Add("2067137:28318;1627207:28332:p", "100");            paras.Add("2067137:28318;1627207:28332:q", "");            paras.Add("2067137:28318;1627207:28332:tsc", "");            paras.Add("2067137:28318;1627207:30156:id", "");            paras.Add("2067137:28318;1627207:30156:p", "100");            paras.Add("2067137:28318;1627207:30156:q", "");            paras.Add("2067137:28318;1627207:30156:tsc", "");            paras.Add("2067137:28318;1627207:60092:id", "");            paras.Add("2067137:28318;1627207:60092:p", "100");            paras.Add("2067137:28318;1627207:60092:q", "");            paras.Add("2067137:28318;1627207:60092:tsc", "");            paras.Add("2067137:28318;1627207:3232482:id", "");            paras.Add("2067137:28318;1627207:3232482:p", "100");            paras.Add("2067137:28318;1627207:3232482:q", "");            paras.Add("2067137:28318;1627207:3232482:tsc", "");            paras.Add("2067137:28318;1627207:3232478:id", "");            paras.Add("2067137:28318;1627207:3232478:p", "100");            paras.Add("2067137:28318;1627207:3232478:q", "");            paras.Add("2067137:28318;1627207:3232478:tsc", "");            paras.Add("2067137:28318;1627207:3232479:id", "");            paras.Add("2067137:28318;1627207:3232479:p", "100");            paras.Add("2067137:28318;1627207:3232479:q", "");            paras.Add("2067137:28318;1627207:3232479:tsc", "");            paras.Add("2067137:28318;1627207:28340:id", "");            paras.Add("2067137:28318;1627207:28340:p", "100");            paras.Add("2067137:28318;1627207:28340:q", "");            paras.Add("2067137:28318;1627207:28340:tsc", "");            paras.Add("2067137:28318;1627207:28320:id", "");            paras.Add("2067137:28318;1627207:28320:p", "100");            paras.Add("2067137:28318;1627207:28320:q", "");            paras.Add("2067137:28318;1627207:28320:tsc", "");            paras.Add("2067137:28318;1627207:3232480:id", "");            paras.Add("2067137:28318;1627207:3232480:p", "100");            paras.Add("2067137:28318;1627207:3232480:q", "");            paras.Add("2067137:28318;1627207:3232480:tsc", "");            paras.Add("2067137:28318;1627207:80882:id", "");            paras.Add("2067137:28318;1627207:80882:p", "100");            paras.Add("2067137:28318;1627207:80882:q", "");            paras.Add("2067137:28318;1627207:80882:tsc", "");            paras.Add("2067137:28318;1627207:28329:id", "");            paras.Add("2067137:28318;1627207:28329:p", "100");            paras.Add("2067137:28318;1627207:28329:q", "");            paras.Add("2067137:28318;1627207:28329:tsc", "");            paras.Add("2067137:28318;1627207:28326:id", "");            paras.Add("2067137:28318;1627207:28326:p", "100");            paras.Add("2067137:28318;1627207:28326:q", "");            paras.Add("2067137:28318;1627207:28326:tsc", "");            paras.Add("2067137:28318;1627207:28335:id", "");            paras.Add("2067137:28318;1627207:28335:p", "100");            paras.Add("2067137:28318;1627207:28335:q", "");            paras.Add("2067137:28318;1627207:28335:tsc", "");            paras.Add("2067137:28318;1627207:130164:id", "");            paras.Add("2067137:28318;1627207:130164:p", "100");            paras.Add("2067137:28318;1627207:130164:q", "");            paras.Add("2067137:28318;1627207:130164:tsc", "");            paras.Add("2067137:28318;1627207:28338:id", "");            paras.Add("2067137:28318;1627207:28338:p", "100");            paras.Add("2067137:28318;1627207:28338:q", "");            paras.Add("2067137:28318;1627207:28338:tsc", "");            paras.Add("2067137:28318;1627207:132069:id", "");            paras.Add("2067137:28318;1627207:132069:p", "100");            paras.Add("2067137:28318;1627207:132069:q", "");            paras.Add("2067137:28318;1627207:132069:tsc", "");            paras.Add("2067137:28318;1627207:107121:id", "");            paras.Add("2067137:28318;1627207:107121:p", "100");            paras.Add("2067137:28318;1627207:107121:q", "");            paras.Add("2067137:28318;1627207:107121:tsc", "");            paras.Add("2067137:28318;1627207:28327:id", "");            paras.Add("2067137:28318;1627207:28327:p", "100");            paras.Add("2067137:28318;1627207:28327:q", "");            paras.Add("2067137:28318;1627207:28327:tsc", "");            paras.Add("2067137:28318;1627207:28324:id", "");            paras.Add("2067137:28318;1627207:28324:p", "100");            paras.Add("2067137:28318;1627207:28324:q", "");            paras.Add("2067137:28318;1627207:28324:tsc", "");            paras.Add("2067137:28318;1627207:28341:id", "");            paras.Add("2067137:28318;1627207:28341:p", "100");            paras.Add("2067137:28318;1627207:28341:q", "");            paras.Add("2067137:28318;1627207:28341:tsc", "");            paras.Add("2067137:28383;1627207:3232483:id", "");            paras.Add("2067137:28383;1627207:3232483:p", "100");            paras.Add("2067137:28383;1627207:3232483:q", "");            paras.Add("2067137:28383;1627207:3232483:tsc", "");            paras.Add("2067137:28383;1627207:3232484:id", "");            paras.Add("2067137:28383;1627207:3232484:p", "100");            paras.Add("2067137:28383;1627207:3232484:q", "");            paras.Add("2067137:28383;1627207:3232484:tsc", "");            paras.Add("2067137:28383;1627207:3232481:id", "");            paras.Add("2067137:28383;1627207:3232481:p", "100");            paras.Add("2067137:28383;1627207:3232481:q", "");            paras.Add("2067137:28383;1627207:3232481:tsc", "");            paras.Add("2067137:28383;1627207:90554:id", "");            paras.Add("2067137:28383;1627207:90554:p", "100");            paras.Add("2067137:28383;1627207:90554:q", "");            paras.Add("2067137:28383;1627207:90554:tsc", "");            paras.Add("2067137:28383;1627207:28332:id", "");            paras.Add("2067137:28383;1627207:28332:p", "100");            paras.Add("2067137:28383;1627207:28332:q", "");            paras.Add("2067137:28383;1627207:28332:tsc", "");            paras.Add("2067137:28383;1627207:30156:id", "");            paras.Add("2067137:28383;1627207:30156:p", "100");            paras.Add("2067137:28383;1627207:30156:q", "");            paras.Add("2067137:28383;1627207:30156:tsc", "");            paras.Add("2067137:28383;1627207:60092:id", "");            paras.Add("2067137:28383;1627207:60092:p", "100");            paras.Add("2067137:28383;1627207:60092:q", "");            paras.Add("2067137:28383;1627207:60092:tsc", "");            paras.Add("2067137:28383;1627207:3232482:id", "");            paras.Add("2067137:28383;1627207:3232482:p", "100");            paras.Add("2067137:28383;1627207:3232482:q", "");            paras.Add("2067137:28383;1627207:3232482:tsc", "");            paras.Add("2067137:28383;1627207:3232478:id", "");            paras.Add("2067137:28383;1627207:3232478:p", "100");            paras.Add("2067137:28383;1627207:3232478:q", "");            paras.Add("2067137:28383;1627207:3232478:tsc", "");            paras.Add("2067137:28383;1627207:3232479:id", "");            paras.Add("2067137:28383;1627207:3232479:p", "100");            paras.Add("2067137:28383;1627207:3232479:q", "");            paras.Add("2067137:28383;1627207:3232479:tsc", "");            paras.Add("2067137:28383;1627207:28340:id", "");            paras.Add("2067137:28383;1627207:28340:p", "100");            paras.Add("2067137:28383;1627207:28340:q", "");            paras.Add("2067137:28383;1627207:28340:tsc", "");            paras.Add("2067137:28383;1627207:28320:id", "");            paras.Add("2067137:28383;1627207:28320:p", "100");            paras.Add("2067137:28383;1627207:28320:q", "");            paras.Add("2067137:28383;1627207:28320:tsc", "");            paras.Add("2067137:28383;1627207:3232480:id", "");            paras.Add("2067137:28383;1627207:3232480:p", "100");            paras.Add("2067137:28383;1627207:3232480:q", "");            paras.Add("2067137:28383;1627207:3232480:tsc", "");            paras.Add("2067137:28383;1627207:80882:id", "");            paras.Add("2067137:28383;1627207:80882:p", "100");            paras.Add("2067137:28383;1627207:80882:q", "");            paras.Add("2067137:28383;1627207:80882:tsc", "");            paras.Add("2067137:28383;1627207:28329:id", "");            paras.Add("2067137:28383;1627207:28329:p", "100");            paras.Add("2067137:28383;1627207:28329:q", "");            paras.Add("2067137:28383;1627207:28329:tsc", "");            paras.Add("2067137:28383;1627207:28326:id", "");            paras.Add("2067137:28383;1627207:28326:p", "100");            paras.Add("2067137:28383;1627207:28326:q", "");            paras.Add("2067137:28383;1627207:28326:tsc", "");            paras.Add("2067137:28383;1627207:28335:id", "");            paras.Add("2067137:28383;1627207:28335:p", "100");            paras.Add("2067137:28383;1627207:28335:q", "");            paras.Add("2067137:28383;1627207:28335:tsc", "");            paras.Add("2067137:28383;1627207:130164:id", "");            paras.Add("2067137:28383;1627207:130164:p", "100");            paras.Add("2067137:28383;1627207:130164:q", "");            paras.Add("2067137:28383;1627207:130164:tsc", "");            paras.Add("2067137:28383;1627207:28338:id", "");            paras.Add("2067137:28383;1627207:28338:p", "100");            paras.Add("2067137:28383;1627207:28338:q", "");            paras.Add("2067137:28383;1627207:28338:tsc", "");            paras.Add("2067137:28383;1627207:132069:id", "");            paras.Add("2067137:28383;1627207:132069:p", "100");            paras.Add("2067137:28383;1627207:132069:q", "");            paras.Add("2067137:28383;1627207:132069:tsc", "");            paras.Add("2067137:28383;1627207:107121:id", "");            paras.Add("2067137:28383;1627207:107121:p", "100");            paras.Add("2067137:28383;1627207:107121:q", "");            paras.Add("2067137:28383;1627207:107121:tsc", "");            paras.Add("2067137:28383;1627207:28327:id", "");            paras.Add("2067137:28383;1627207:28327:p", "100");            paras.Add("2067137:28383;1627207:28327:q", "");            paras.Add("2067137:28383;1627207:28327:tsc", "");            paras.Add("2067137:28383;1627207:28324:id", "");            paras.Add("2067137:28383;1627207:28324:p", "100");            paras.Add("2067137:28383;1627207:28324:q", "");            paras.Add("2067137:28383;1627207:28324:tsc", "");            paras.Add("2067137:28383;1627207:28341:id", "");            paras.Add("2067137:28383;1627207:28341:p", "100");            paras.Add("2067137:28383;1627207:28341:q", "");            paras.Add("2067137:28383;1627207:28341:tsc", "");            paras.Add("2067137:29696;1627207:3232483:id", "");            paras.Add("2067137:29696;1627207:3232483:p", "100");            paras.Add("2067137:29696;1627207:3232483:q", "");            paras.Add("2067137:29696;1627207:3232483:tsc", "");            paras.Add("2067137:29696;1627207:3232484:id", "");            paras.Add("2067137:29696;1627207:3232484:p", "100");            paras.Add("2067137:29696;1627207:3232484:q", "");            paras.Add("2067137:29696;1627207:3232484:tsc", "");            paras.Add("2067137:29696;1627207:3232481:id", "");            paras.Add("2067137:29696;1627207:3232481:p", "100");            paras.Add("2067137:29696;1627207:3232481:q", "");            paras.Add("2067137:29696;1627207:3232481:tsc", "");            paras.Add("2067137:29696;1627207:90554:id", "");            paras.Add("2067137:29696;1627207:90554:p", "100");            paras.Add("2067137:29696;1627207:90554:q", "");            paras.Add("2067137:29696;1627207:90554:tsc", "");            paras.Add("2067137:29696;1627207:28332:id", "");            paras.Add("2067137:29696;1627207:28332:p", "100");            paras.Add("2067137:29696;1627207:28332:q", "");            paras.Add("2067137:29696;1627207:28332:tsc", "");            paras.Add("2067137:29696;1627207:30156:id", "");            paras.Add("2067137:29696;1627207:30156:p", "100");            paras.Add("2067137:29696;1627207:30156:q", "");            paras.Add("2067137:29696;1627207:30156:tsc", "");            paras.Add("2067137:29696;1627207:60092:id", "");            paras.Add("2067137:29696;1627207:60092:p", "100");            paras.Add("2067137:29696;1627207:60092:q", "");            paras.Add("2067137:29696;1627207:60092:tsc", "");            paras.Add("2067137:29696;1627207:3232482:id", "");            paras.Add("2067137:29696;1627207:3232482:p", "100");            paras.Add("2067137:29696;1627207:3232482:q", "");            paras.Add("2067137:29696;1627207:3232482:tsc", "");            paras.Add("2067137:29696;1627207:3232478:id", "");            paras.Add("2067137:29696;1627207:3232478:p", "100");            paras.Add("2067137:29696;1627207:3232478:q", "");            paras.Add("2067137:29696;1627207:3232478:tsc", "");            paras.Add("2067137:29696;1627207:3232479:id", "");            paras.Add("2067137:29696;1627207:3232479:p", "100");            paras.Add("2067137:29696;1627207:3232479:q", "");            paras.Add("2067137:29696;1627207:3232479:tsc", "");            paras.Add("2067137:29696;1627207:28340:id", "");            paras.Add("2067137:29696;1627207:28340:p", "100");            paras.Add("2067137:29696;1627207:28340:q", "");            paras.Add("2067137:29696;1627207:28340:tsc", "");            paras.Add("2067137:29696;1627207:28320:id", "");            paras.Add("2067137:29696;1627207:28320:p", "100");            paras.Add("2067137:29696;1627207:28320:q", "");            paras.Add("2067137:29696;1627207:28320:tsc", "");            paras.Add("2067137:29696;1627207:3232480:id", "");            paras.Add("2067137:29696;1627207:3232480:p", "100");            paras.Add("2067137:29696;1627207:3232480:q", "");            paras.Add("2067137:29696;1627207:3232480:tsc", "");            paras.Add("2067137:29696;1627207:80882:id", "");            paras.Add("2067137:29696;1627207:80882:p", "100");            paras.Add("2067137:29696;1627207:80882:q", "");            paras.Add("2067137:29696;1627207:80882:tsc", "");            paras.Add("2067137:29696;1627207:28329:id", "");            paras.Add("2067137:29696;1627207:28329:p", "100");            paras.Add("2067137:29696;1627207:28329:q", "");            paras.Add("2067137:29696;1627207:28329:tsc", "");            paras.Add("2067137:29696;1627207:28326:id", "");            paras.Add("2067137:29696;1627207:28326:p", "100");            paras.Add("2067137:29696;1627207:28326:q", "");            paras.Add("2067137:29696;1627207:28326:tsc", "");            paras.Add("2067137:29696;1627207:28335:id", "");            paras.Add("2067137:29696;1627207:28335:p", "100");            paras.Add("2067137:29696;1627207:28335:q", "");            paras.Add("2067137:29696;1627207:28335:tsc", "");            paras.Add("2067137:29696;1627207:130164:id", "");            paras.Add("2067137:29696;1627207:130164:p", "100");            paras.Add("2067137:29696;1627207:130164:q", "");            paras.Add("2067137:29696;1627207:130164:tsc", "");            paras.Add("2067137:29696;1627207:28338:id", "");            paras.Add("2067137:29696;1627207:28338:p", "100");            paras.Add("2067137:29696;1627207:28338:q", "");            paras.Add("2067137:29696;1627207:28338:tsc", "");            paras.Add("2067137:29696;1627207:132069:id", "");            paras.Add("2067137:29696;1627207:132069:p", "100");            paras.Add("2067137:29696;1627207:132069:q", "");            paras.Add("2067137:29696;1627207:132069:tsc", "");            paras.Add("2067137:29696;1627207:107121:id", "");            paras.Add("2067137:29696;1627207:107121:p", "100");            paras.Add("2067137:29696;1627207:107121:q", "");            paras.Add("2067137:29696;1627207:107121:tsc", "");            paras.Add("2067137:29696;1627207:28327:id", "");            paras.Add("2067137:29696;1627207:28327:p", "100");            paras.Add("2067137:29696;1627207:28327:q", "");            paras.Add("2067137:29696;1627207:28327:tsc", "");            paras.Add("2067137:29696;1627207:28324:id", "");            paras.Add("2067137:29696;1627207:28324:p", "100");            paras.Add("2067137:29696;1627207:28324:q", "");            paras.Add("2067137:29696;1627207:28324:tsc", "");            paras.Add("2067137:29696;1627207:28341:id", "");            paras.Add("2067137:29696;1627207:28341:p", "100");            paras.Add("2067137:29696;1627207:28341:q", "");            paras.Add("2067137:29696;1627207:28341:tsc", "");            paras.Add("_fma.pu._0.o", "");            paras.Add("_fma.pu._0.q", "15");            paras.Add("event_submit_do_publish", "发布");

UploadImageToTaoBao(actionUrl, file, paras);        } 

  不过没有达到预期的结果,虽然我想了很多办法折腾了一个晚上和一个上午,还是失败了。也许是publish.html在服务器端有一个特殊的机制我还没有在客户端发现。不过结果并不很重要,重要的是通过这个例子更深入理解一下http请求的格式,例如cookie、header、post data等等。

  失败之余,也发现了另外一个小小的安慰,在网上找到了‘淘宝助理’这款桌面软件,也可以很好的批量处理一些事务。

时间: 2024-08-30 19:05:24

艾伟_转载:尝试通过HttpWebRequest向TAOBAO批量发布商品及上传图片的相关文章

尝试通过HttpWebRequest向TAOBAO批量发布商品及上传图片

朋友开了个淘宝店,所以经常要将新商品及图片发布到网店里,而且有时还需要上传很多商品.如果手工一条一个商品的上传未免太花时间,所以我就琢磨着能否用WinForm写个程序通过WebRequest发送POST/GET请求来达到这个目的.由于上传上品时即有普通的Form字段信息需要提交,还需要上传图片,所以在写HttpWebRequest时参考了这个帖子http://bytes.com/topic/c-sharp/answers/268661-how-upload-file-via-c-code(How

艾伟_转载:老赵谈IL(3):IL可以看到的东西,其实大都也可以用C#来发现

在上一篇文章中,我们通过一些示例谈论了IL与CLR中的一些特性.IL与C#等高级语言的作用类似,主要用于表示程序的逻辑.由于它同样了解太多CLR中的高级特性,因此它在大部分情况下依旧无法展现出比那些高级语言更多的CLR细节.因此,如果您想要通过学习IL来了解CLR,那么这个过程很可能会"事倍功半".因此,从这个角度来说,老赵并不倾向于学习IL.不过严格说来,即使IL无法看出CLR的细节,也不足以说明"IL无用"--这里说"无用"自然有些夸张.但是

艾伟_转载:正则表达式30分钟入门教程

  本文目标 30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它. 如何使用本教程 最重要的是--请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门--除非你是超人 :) 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有你想像中的那么困难.当然,如果你看完了这篇教程之后,发现自己明白了很多,却又几乎什么都记不得,那也是很正常的--我认为,没接触过正则表达式的人在看完这篇教程后,能把提到过的语法记住8

艾伟_转载:数组排序方法的性能比较(上):注意事项及试验

昨天有朋友写了一篇文章,其中比较了List的Sort方法与LINQ中排序方法的性能,而最终得到的结果是"LINQ排序方法性能高于List.Sort方法".这个结果不禁让我很疑惑.因为List.Sort方法是改变容器内部元素的顺序,而LINQ排序后得到的是一个新的序列.假如两个排序方法的算法完全一致,LINQ排序也比对方多出元素复制的开销,为什么性能反而会高?如果LINQ排序的算法/实现更为优秀,那为什么.NET Fx不将List.Sort也一并优化一下呢?于是今天我也对这个问题进行了简

艾伟_转载:下载文件时根据MIME类型自动判断保存文件的扩展名

引言 用WebClient下载远程资源时,经常会遇到类似这样的网址: http://www.uushare.com/filedownload?user=icesee&id=2205188 http://www.guaishow.com/u/luanfujie/g9675/ 我们不知道这个Url具体代表的是一个网页,还是某种类型的文件. 而有些Url虽然带有扩展名,但可能是错误的扩展名,常见的比如把gif文件标上了jpg扩展名. 如果我们没法正确判断下载源的文件类型的话,就无法保存为正确的文件格式

艾伟_转载:VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发

艾伟_转载:一个MVC分页Helper

本人写的一个分页Helper,支持普通分页(也就是,首页.上一页.下一页.末页等),综合分页(普通分页和数字分页的综合).下面是分页效果: 分页代码: PagerHelper.cs 代码   1 using System;  2  using System.Collections.Generic;  3 using System.Collections.Specialized;  4 using System.Linq;  5 using System.Web;  6 using System.

艾伟_转载:VS2008连接SQL Server数据库文件出错的解决方案

有园子里的朋友问到一个问题:系统上安装的是vs2008+Sql 2005 developer(没有安装Sql server 2005 Express ) 用代码直接连SQL Server服务器没有问题,但在项目中数据源改用SQL Server数据库文件时出错,提示错误如下:"与SQL Server文件(*.mdf)的连接要求安装SQL Server2005才能正常工作,请确认是否安装了该组件,--" 英文版为"Connections to SQL Server Files (

艾伟_转载:单元测试之道(使用NUnit)

首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试--终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而又忐忑的心情点击界面上的按钮,顿时你刚刚的轻松感烟消云散:系统无法正常工作,你想读的数据显示不出来,你想存的东西也送不到数据库--于是,你再次回到IDE里,设断点.调试.一层一层跟踪,当你精疲力尽终于将数据送到数据库里,你又发现了其它问题,于是你继续设断点.调试.编译.调试-- 2.你狂躁地敲击着键盘和鼠标,咒骂着不断出现