淘宝秒杀器,求思路 如题,最近淘宝搞秒杀,求自己制作秒杀器的思路。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 秒杀后,lock,完毕后,解锁。 淘宝c#秒杀源码,网上转的全数源代码 1 using System; 2 using System.Collections; 3 using System.Configuration; 4 using System.Data; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.HtmlControls; 9 using System.Web.UI.WebControls; 10 using System.Net; 11 using System.Net.Sockets; 12 using System.Text; 13 using System.Threading; 14 using System.IO; 15 using System.Text.RegularExpressions; 16 17 public partial class MiaoSha : System.Web.UI.Page 18 { 19 string strServer = string.Empty; 20 string strPath = string.Empty; 21 22 protected void Page_Load(object sender, EventArgs e) 23 { 24 25 } 26 27 public static String Recv(Socket sock, Encoding encode) 28 { 29 Byte[] buffer = new Byte[8192]; 30 StringBuilder sb = new StringBuilder(); 31 32 Thread.Sleep(50);//根据页面相应时间举行微调 33 Int32 len = sock.Receive(buffer); 34 sb.Append(encode.GetString(buffer, 0, len)); 35 36 w你好le (sock.Available > 0) 37 { 38 Thread.Sleep(300);//也可以视环境微调 39 Array.Clear(buffer, 0, buffer.Length); 40 len = sock.Receive(buffer); 41 sb.Append(encode.GetString(buffer, 0, len)); 42 string ss = encode.GetString(buffer, 0, len); 43 } 44 sock.Close(); 45 return sb.ToString(); 46 } 47 48 /// <summary> 49 /// Socket获取页面HTML同时归回头信息 50 /// </summary> 51 /// <param name="server">服务器地址或者主机名</param> 52 /// <param name="url">哀求的页面</param> 53 /// <param name="method">post or get</param> 54 /// <param name="data">提交处理的数值</param> 55 /// <param name="Cookies">Cookies</param> 56 /// <returns>归回页面的HTML</returns> 57 public string GetHtml(string server, string url, string method, string data, string Cookies) 58 { 59 string _method = method.ToUpper(); 60 string _url = string.Empty; 61 if (url == "") 62 { 63 _url = "/"; 64 } 65 else if (url.Substring(0, 1) != "/") 66 { 67 _url = "/" url; 68 } 69 else 70 { 71 _url = url; 72 } 73 string formatString = string.Empty; 74 string sendString = string.Empty; 75 Encoding ASCII = Encoding.Default; 76 77 //以下是拼接的HTTP头信息 78 if (_method == "GET") 79 { 80 formatString = ""; 81 formatString = "{0} {1} HTTP/1.1\r\n"; 82 formatString = "Host: {2}\r\n"; 83 formatString = "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7\r\n"; 84 formatString = "Accept: text/html\r\n"; 85 formatString = "Keep-Alive: 300\r\n"; 86 formatString = "Cookies:{3}\r\n"; 87 formatString = "Connection: keep-alive\r\n\r\n"; 88 sendString = string.Format(formatString, _method, _url, server, Cookies); 89 } 90 else 91 { 92 formatString = ""; 93 formatString = "{0} {1} HTTP/1.1\r\n"; 94 formatString = "Host: {2}\r\n"; 95 formatString = "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7\r\n"; 96 formatString = "Accept:text/html\r\n"; 97 formatString = "Content-Type:application/x-www-form-urlencoded\r\n"; 98 formatString = "Content-Length:{3}\r\n"; 99 formatString = "Referer:http://buy.taobao.com/auction/buy_now.jhtml"; 100 formatString = "Keep-Alive:300\r\n"; 101 formatString = "Cookies:{4}\r\n"; 102 formatString = "Connection: keep-alive\r\n\r\n"; 103 formatString = "{5}\r\n"; 104 sendString = string.Format(formatString, _method, _url, server, Encoding.Default.GetByteCount(data), Cookies, data); 105 } 106 107 Byte[] ByteGet = ASCII.GetBytes(sendString); 108 Byte[] RecvBytes = new Byte[1024]; 109 String strRetPage = null; 110 IPAddress hostadd = Dns.Resolve(server).AddressList[0]; 111 IPEndPoint EPhost = new IPEndPoint(hostadd, 80); 112 Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 113 s.Connect(EPhost); 114 if (!s.Connected) 115 { 116 strRetPage = "链接主机掉败"; 117 return strRetPage; 118 } 119 s.Send(ByteGet, ByteGet.Length, SocketFlags.None); 120 121 strRetPage = Recv(s, ASCII); 122 123 return strRetPage; 124 } 125 126 protected void btnLogin_Click(object sender, EventArgs e) 127 { 128 string u = t你好s.txtUserName.Text.Trim(); 129 string p = t你好s.txtPwd.Text.Trim(); 130 DateTime st = DateTime.Now; 131 132 //淘宝登录需要post的数值串 133 string sendData = "TPL_username=" u "&TPL_password=" Server.UrlEncode(p) "&actionForStable=enable_post_user_action&action=Authenticator&mi_uid=&mcheck=&TPL_redirect_url=http://item.taobao.com/auction/item_detail-0db1-3036113cf5455bd74047f1a581ba4be7.htm&_oooo_=http://item.taobao.com/auction/item_detail-0db1-3036113cf5455bd74047f1a581ba4be7.htm&event_submit_do_login=anyt你好ng&abtest=&pstrong=3&from=&yparam=&done=&loginType=3&tid=&support=000001&CtrlVersion=1,0,0,7"; 134 135 string s = GetHtml("login.taobao.com", "/member/login.jhtml", "post", sendData, ""); 136 Session["Cookies"] = GetCookies(s); //从归回的源码中提取cookies,抓取登录后的页面需要附上该cookies 137 138 } 139 protected void btnBuy_Click(object sender, EventArgs e) 140 { 141 string strURL = t你好s.txtURL.Text.Trim(); 142 getServerAndPath(strURL); 143 144 string s = GetHtml(strServer, strPath, "get", "", Session["Cookies"].ToString()); 145 //Response.Write(s); 146 if (s.IndexOf("当即采办") > 0) 147 { 148 string item_id = strURL.Split('-')[2].Split('.')[0].ToString(); 149 string x_id = strURL.Split('-')[1].ToString(); 150 151 s = GetHtml("buy.taobao.com", "/auction/buy.htm?from=itemDetail&item_id=" item_id "&x_id=" x_id, "get", "", Session["Cookies"].ToString()); 152 //Response.Write(s); 153 using (StreamWriter sw = new StreamWriter(Server.MapPath("debug1.html"))) 154 { 155 sw.Write(s); 156 } 157 158 if (s.IndexOf("明确承认提交处理订单") > 0) 159 { 160 Session["Cookies"] = GetCookies(s); 161 string postData = getPostData(s); 162 string r = GetHtml("buy.taobao.com", "/auction/buy_now.htm", "post", postData, Session["Cookies"].ToString()); 163 if (r.IndexOf("302") > 0) 164 { 165 using (StreamWriter sw = new StreamWriter(Server.MapPath("debug2.html"))) 166 { 167 sw.Write(r); 168 } 169 } 170 else 171 { 172 //// 173 } 174 using (StreamWriter sw = new StreamWriter(Server.MapPath("debug2.html"))) 175 { 176 sw.Write(r); 177 } 178 } 179 } 180 else if (s.IndexOf("btn-wait") > 0)//该宝物还处于按时上架的状况 181 { 182 183 } 184 185 } 186 187 188 /// <summary> 189 /// 从归回的源代码中提取cookies 190 /// </summary> 191 /// <param name="s"></param> 192 /// <returns></returns> 193 private string GetCookies(string s) 194 { 195 StringBuilder sbCookies = new StringBuilder(); 196 197 string[] arr = s.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); 198 foreach (string str in arr) 199 { 200 if (str.StartsWith("Set-Cookie: ")) 201 { 202 int intStart = str.IndexOf(";"); 203 string strCookie = str.Substring(12, intStart - 11); 204 sbCookies.Append(strCookie); 205 } 206 } 207 return sbCookies.ToString(); 208 } 209 210 private string GetLocationURL(string s) 211 { 212 213 string RtnString = string.Empty; 214 StringBuilder sbCookies = new StringBuilder(); 215 216 string[] arr = s.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); 217 foreach (string str in arr) 218 { 219 if (str.StartsWith("Location: ")) 220 { 221 RtnString = str.Substring(11, str.Length - 11); 222 } 223 } 224 return RtnString; 225 } 226 227 228 229 private void getServerAndPath(string strURL) 230 { 231 if (strURL != "" && strURL.IndexOf("/") > 0) 232 { 233 int SlashPos = strURL.Substring(7).IndexOf("/"); 234 strServer = strURL.Substring(7, SlashPos); 235 strPath = strURL.Substring(SlashPos 7); 236 } 237 else 238 return; 239 } 240 241 242 243 /// <summary> 244 /// 从最后明确承认采办页面的源代码中提取表奇数值的数值 245 /// </summary> 246 /// <param name="html"></param> 247 /// <returns></returns> 248 private string getPostData(string html) 249 { 250 string postStr = ""; 251 string pat = "<input .*?name.{0,1}=.{0,1}\"(.*?)\".*? value.{0,1}=\"(.*?)\".*?>"; 252 Regex regex = new Regex(pat, RegexOptions.Multiline | RegexOptions.IgnoreCase); 253 MatchCollection mcollection = regex.Matches(html); 254 255 foreach (Match m in mcollection) 256 { 257 GroupCollection gcollection = m.Groups; 258 if (m.ToString().IndexOf("_fma.b._0.s") > 0) { continue; } 259 if (m.ToString().IndexOf("_fma.b._0.c") > 0) { continue; } 260 if (m.ToString().IndexOf("isCheckCode") > 0 && gcollection[2].Value.ToLower() == "true") 261 { 262 //isCheckCode = true; 263 } 264 postStr = gcollection[1].Value; postStr = "="; 265 postStr = Server.UrlEncode(gcollection[2].Value); 266 postStr = "&"; 267 } 268 postStr = "n_prov=370000&n_city=370500&n_area=370522&_fma.b._0.w=quicky&_fma.b._0.ac=250&consignment=10&_fma.b._0.au=5&_fma.b._0.c=8888"; 269 postStr = postStr.Replace("quantity=0", "quantity=1").Replace("_fma.b._0.d=您没必要重复省-市-区信息;至少五个字", "_fma.b._0.d=" Server.UrlEncode("收货人的具体地址")).Replace("_fma.b._0.po=", "_fma.b._0.po=230031").Replace("_fma.b._0.de=", "_fma.b._0.de=" Server.UrlEncode("啊峰")).Replace("_fma.b._0.u=", "_fma.b._0.u=0").Replace("_fma.b._0.di=1", "_fma.b._0.di=370522").Replace("_fma.b._0.deli=", "_fma.b._0.deli=139XXXX"); 270 postStr = "&_fma.b._0.s=2"; 271 //postStr = Server.UrlEncode(postStr); 272 273 return postStr; 274 } 275 } 网络竞拍秒杀源码http://download.csdn.net/tag/%E7%AB%9E%E6%8B%8D%E7%BD%91%E6%BA%90%E7%A0%81%E7%A8%8B%E5%BA%8F%E3%80%90%E7%A7%92%E6%9D%80%E7%BD%91%E6%BA%90%E7%A0%81%E3%80%91 【C#】如何激活UAC提示,使得程序获得管理员权限。 去掉路径中的转义字符 正则表达式如何匹配 [ 符号 和这个 ] 符号 图片保存的问题 有谁用c#+AE做过大气污染评价方面的系统没有啊? 高手指点一下 有关sqlserver速度问题,我是菜鸟 请问有人能将下面的代码翻译成C++的吗?弄了一天了,不知道怎么写DES部分 请问如何用C#调用JAVA对象 有谁有好一点的C#的电子图书,发一两份,或下载地址也可,再送1000分! TextBox的OnTextChange事件如何用JS的做啊 怎么用这些属性
全数源代码 1 using System; 2 using System.Collections; 3 using System.Configuration; 4 using System.Data; 5 using System.Web; 6 using System.Web.Security; 7 using System.Web.UI; 8 using System.Web.UI.HtmlControls; 9 using System.Web.UI.WebControls; 10 using System.Net; 11 using System.Net.Sockets; 12 using System.Text; 13 using System.Threading; 14 using System.IO; 15 using System.Text.RegularExpressions; 16 17 public partial class MiaoSha : System.Web.UI.Page 18 { 19 string strServer = string.Empty; 20 string strPath = string.Empty; 21 22 protected void Page_Load(object sender, EventArgs e) 23 { 24 25 } 26 27 public static String Recv(Socket sock, Encoding encode) 28 { 29 Byte[] buffer = new Byte[8192]; 30 StringBuilder sb = new StringBuilder(); 31 32 Thread.Sleep(50);//根据页面相应时间举行微调 33 Int32 len = sock.Receive(buffer); 34 sb.Append(encode.GetString(buffer, 0, len)); 35 36 w你好le (sock.Available > 0) 37 { 38 Thread.Sleep(300);//也可以视环境微调 39 Array.Clear(buffer, 0, buffer.Length); 40 len = sock.Receive(buffer); 41 sb.Append(encode.GetString(buffer, 0, len)); 42 string ss = encode.GetString(buffer, 0, len); 43 } 44 sock.Close(); 45 return sb.ToString(); 46 } 47 48 /// <summary> 49 /// Socket获取页面HTML同时归回头信息 50 /// </summary> 51 /// <param name="server">服务器地址或者主机名</param> 52 /// <param name="url">哀求的页面</param> 53 /// <param name="method">post or get</param> 54 /// <param name="data">提交处理的数值</param> 55 /// <param name="Cookies">Cookies</param> 56 /// <returns>归回页面的HTML</returns> 57 public string GetHtml(string server, string url, string method, string data, string Cookies) 58 { 59 string _method = method.ToUpper(); 60 string _url = string.Empty; 61 if (url == "") 62 { 63 _url = "/"; 64 } 65 else if (url.Substring(0, 1) != "/") 66 { 67 _url = "/" url; 68 } 69 else 70 { 71 _url = url; 72 } 73 string formatString = string.Empty; 74 string sendString = string.Empty; 75 Encoding ASCII = Encoding.Default; 76 77 //以下是拼接的HTTP头信息 78 if (_method == "GET") 79 { 80 formatString = ""; 81 formatString = "{0} {1} HTTP/1.1\r\n"; 82 formatString = "Host: {2}\r\n"; 83 formatString = "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7\r\n"; 84 formatString = "Accept: text/html\r\n"; 85 formatString = "Keep-Alive: 300\r\n"; 86 formatString = "Cookies:{3}\r\n"; 87 formatString = "Connection: keep-alive\r\n\r\n"; 88 sendString = string.Format(formatString, _method, _url, server, Cookies); 89 } 90 else 91 { 92 formatString = ""; 93 formatString = "{0} {1} HTTP/1.1\r\n"; 94 formatString = "Host: {2}\r\n"; 95 formatString = "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7\r\n"; 96 formatString = "Accept:text/html\r\n"; 97 formatString = "Content-Type:application/x-www-form-urlencoded\r\n"; 98 formatString = "Content-Length:{3}\r\n"; 99 formatString = "Referer:http://buy.taobao.com/auction/buy_now.jhtml"; 100 formatString = "Keep-Alive:300\r\n"; 101 formatString = "Cookies:{4}\r\n"; 102 formatString = "Connection: keep-alive\r\n\r\n"; 103 formatString = "{5}\r\n"; 104 sendString = string.Format(formatString, _method, _url, server, Encoding.Default.GetByteCount(data), Cookies, data); 105 } 106 107 Byte[] ByteGet = ASCII.GetBytes(sendString); 108 Byte[] RecvBytes = new Byte[1024]; 109 String strRetPage = null; 110 IPAddress hostadd = Dns.Resolve(server).AddressList[0]; 111 IPEndPoint EPhost = new IPEndPoint(hostadd, 80); 112 Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 113 s.Connect(EPhost); 114 if (!s.Connected) 115 { 116 strRetPage = "链接主机掉败"; 117 return strRetPage; 118 } 119 s.Send(ByteGet, ByteGet.Length, SocketFlags.None); 120 121 strRetPage = Recv(s, ASCII); 122 123 return strRetPage; 124 } 125 126 protected void btnLogin_Click(object sender, EventArgs e) 127 { 128 string u = t你好s.txtUserName.Text.Trim(); 129 string p = t你好s.txtPwd.Text.Trim(); 130 DateTime st = DateTime.Now; 131 132 //淘宝登录需要post的数值串 133 string sendData = "TPL_username=" u "&TPL_password=" Server.UrlEncode(p) "&actionForStable=enable_post_user_action&action=Authenticator&mi_uid=&mcheck=&TPL_redirect_url=http://item.taobao.com/auction/item_detail-0db1-3036113cf5455bd74047f1a581ba4be7.htm&_oooo_=http://item.taobao.com/auction/item_detail-0db1-3036113cf5455bd74047f1a581ba4be7.htm&event_submit_do_login=anyt你好ng&abtest=&pstrong=3&from=&yparam=&done=&loginType=3&tid=&support=000001&CtrlVersion=1,0,0,7"; 134 135 string s = GetHtml("login.taobao.com", "/member/login.jhtml", "post", sendData, ""); 136 Session["Cookies"] = GetCookies(s); //从归回的源码中提取cookies,抓取登录后的页面需要附上该cookies 137 138 } 139 protected void btnBuy_Click(object sender, EventArgs e) 140 { 141 string strURL = t你好s.txtURL.Text.Trim(); 142 getServerAndPath(strURL); 143 144 string s = GetHtml(strServer, strPath, "get", "", Session["Cookies"].ToString()); 145 //Response.Write(s); 146 if (s.IndexOf("当即采办") > 0) 147 { 148 string item_id = strURL.Split('-')[2].Split('.')[0].ToString(); 149 string x_id = strURL.Split('-')[1].ToString(); 150 151 s = GetHtml("buy.taobao.com", "/auction/buy.htm?from=itemDetail&item_id=" item_id "&x_id=" x_id, "get", "", Session["Cookies"].ToString()); 152 //Response.Write(s); 153 using (StreamWriter sw = new StreamWriter(Server.MapPath("debug1.html"))) 154 { 155 sw.Write(s); 156 } 157 158 if (s.IndexOf("明确承认提交处理订单") > 0) 159 { 160 Session["Cookies"] = GetCookies(s); 161 string postData = getPostData(s); 162 string r = GetHtml("buy.taobao.com", "/auction/buy_now.htm", "post", postData, Session["Cookies"].ToString()); 163 if (r.IndexOf("302") > 0) 164 { 165 using (StreamWriter sw = new StreamWriter(Server.MapPath("debug2.html"))) 166 { 167 sw.Write(r); 168 } 169 } 170 else 171 { 172 //// 173 } 174 using (StreamWriter sw = new StreamWriter(Server.MapPath("debug2.html"))) 175 { 176 sw.Write(r); 177 } 178 } 179 } 180 else if (s.IndexOf("btn-wait") > 0)//该宝物还处于按时上架的状况 181 { 182 183 } 184 185 } 186 187 188 /// <summary> 189 /// 从归回的源代码中提取cookies 190 /// </summary> 191 /// <param name="s"></param> 192 /// <returns></returns> 193 private string GetCookies(string s) 194 { 195 StringBuilder sbCookies = new StringBuilder(); 196 197 string[] arr = s.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); 198 foreach (string str in arr) 199 { 200 if (str.StartsWith("Set-Cookie: ")) 201 { 202 int intStart = str.IndexOf(";"); 203 string strCookie = str.Substring(12, intStart - 11); 204 sbCookies.Append(strCookie); 205 } 206 } 207 return sbCookies.ToString(); 208 } 209 210 private string GetLocationURL(string s) 211 { 212 213 string RtnString = string.Empty; 214 StringBuilder sbCookies = new StringBuilder(); 215 216 string[] arr = s.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries); 217 foreach (string str in arr) 218 { 219 if (str.StartsWith("Location: ")) 220 { 221 RtnString = str.Substring(11, str.Length - 11); 222 } 223 } 224 return RtnString; 225 } 226 227 228 229 private void getServerAndPath(string strURL) 230 { 231 if (strURL != "" && strURL.IndexOf("/") > 0) 232 { 233 int SlashPos = strURL.Substring(7).IndexOf("/"); 234 strServer = strURL.Substring(7, SlashPos); 235 strPath = strURL.Substring(SlashPos 7); 236 } 237 else 238 return; 239 } 240 241 242 243 /// <summary> 244 /// 从最后明确承认采办页面的源代码中提取表奇数值的数值 245 /// </summary> 246 /// <param name="html"></param> 247 /// <returns></returns> 248 private string getPostData(string html) 249 { 250 string postStr = ""; 251 string pat = "<input .*?name.{0,1}=.{0,1}\"(.*?)\".*? value.{0,1}=\"(.*?)\".*?>"; 252 Regex regex = new Regex(pat, RegexOptions.Multiline | RegexOptions.IgnoreCase); 253 MatchCollection mcollection = regex.Matches(html); 254 255 foreach (Match m in mcollection) 256 { 257 GroupCollection gcollection = m.Groups; 258 if (m.ToString().IndexOf("_fma.b._0.s") > 0) { continue; } 259 if (m.ToString().IndexOf("_fma.b._0.c") > 0) { continue; } 260 if (m.ToString().IndexOf("isCheckCode") > 0 && gcollection[2].Value.ToLower() == "true") 261 { 262 //isCheckCode = true; 263 } 264 postStr = gcollection[1].Value; postStr = "="; 265 postStr = Server.UrlEncode(gcollection[2].Value); 266 postStr = "&"; 267 } 268 postStr = "n_prov=370000&n_city=370500&n_area=370522&_fma.b._0.w=quicky&_fma.b._0.ac=250&consignment=10&_fma.b._0.au=5&_fma.b._0.c=8888"; 269 postStr = postStr.Replace("quantity=0", "quantity=1").Replace("_fma.b._0.d=您没必要重复省-市-区信息;至少五个字", "_fma.b._0.d=" Server.UrlEncode("收货人的具体地址")).Replace("_fma.b._0.po=", "_fma.b._0.po=230031").Replace("_fma.b._0.de=", "_fma.b._0.de=" Server.UrlEncode("啊峰")).Replace("_fma.b._0.u=", "_fma.b._0.u=0").Replace("_fma.b._0.di=1", "_fma.b._0.di=370522").Replace("_fma.b._0.deli=", "_fma.b._0.deli=139XXXX"); 270 postStr = "&_fma.b._0.s=2"; 271 //postStr = Server.UrlEncode(postStr); 272 273 return postStr; 274 } 275 }
http://download.csdn.net/tag/%E7%AB%9E%E6%8B%8D%E7%BD%91%E6%BA%90%E7%A0%81%E7%A8%8B%E5%BA%8F%E3%80%90%E7%A7%92%E6%9D%80%E7%BD%91%E6%BA%90%E7%A0%81%E3%80%91