




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C#通过socket实现淘宝秒杀器源码-这个秒杀器的界面先输入淘宝的账户和密码,然后贴上宝贝的地址 点击检测并抢购。源码: 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 Byte8192; 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 while (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 / 49 / Socket获取页面HTML同时返回头信息 50 / 51 / 服务器地址或主机名 52 / 请求的页面 53 / post or get 54 / 提交的数据 55 / Cookies 56 / 返回页面的HTML 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.1rn; 82 formatString = Host: 2rn; 83 formatString = User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:) Gecko/20091221 Firefox/3.5.7rn; 84 formatString = Accept: text/htmlrn; 85 formatString = Keep-Alive: 300rn; 86 formatString = Cookies:3rn; 87 formatString = Connection: keep-alivernrn; 88 sendString = string.Format(formatString, _method, _url, server, Cookies); 89 90 else 91 92 formatString = ; 93 formatString = 0 1 HTTP/1.1rn; 94 formatString = Host: 2rn; 95 formatString = User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:) Gecko/20091221 Firefox/3.5.7rn; 96 formatString = Accept:text/htmlrn; 97 formatString = Content-Type:application/x-www-form-urlencodedrn; 98 formatString = Content-Length:3rn; 99 formatString = Referer:/auction/buy_now.jhtml;100 formatString = Keep-Alive:300rn;101 formatString = Cookies:4rn;102 formatString = Connection: keep-alivernrn;103 formatString = 5rn;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 Byte1024;109 String strRetPage = null;110 IPAddress hostadd = Dns.Resolve(server).AddressList0;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 = this.txtUserName.Text.Trim();129 string p = this.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%3A%2F%2F%2Fauction%2Fitem_detail-0db1-3036113cf5455bd74047f1a581ba4be7.htm&_oooo_=http%3A%2F%2F%2Fauction%2Fitem_detail-0db1-3036113cf5455bd74047f1a581ba4be7.htm&event_submit_do_login=anything&abtest=&pstrong=3&from=&yparam=&done=&loginType=3&tid=&support=000001&CtrlVersion=1%2C0%2C0%2C7;134 135 string s = GetHtml(, /member/login.jhtml, post, sendData, );136 SessionCookies = GetCookies(s); /从返回的源码中提取cookies,抓取登录后的页面需要附上该cookies 137 138 139 protected void btnBuy_Click(object sender, EventArgs e)140 141 string strURL = this.txtURL.Text.Trim();142 getServerAndPath(strURL);143 144 string s = GetHtml(strServer, strPath, get, , SessionCookies.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(, /auction/buy.htm?from=itemDetail&item_id= item_id &x_id= x_id, get, , SessionCookies.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 SessionCookies = GetCookies(s);161 string postData = getPostData(s);162 string r = GetHtml(, /auction/buy_now.htm, post, postData, SessionCookies.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 else171 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 / 189 / 从返回的源代码中提取cookies190 / 191 / 192 / 193 private string GetCookies(string s)194 195 StringBuilder sbCookies = new StringBuilder();196 197 string arr = s.Split(new string rn , 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 rn , 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 else238 return;239 240 241 242 243 / 244 / 从最后确认购买页面的源代码中提取表单数据的数据245 / 246 / 247 / 248 private string getPostData(string html)249 250 string postStr = ;251 string pat = ;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 & gcollection2.Value.ToLower() = true)261 262 /isCheckCode = true;263 264
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校团委品牌项目建设计划
- 姜堰市初三一模数学试卷
- 2025新版北师大版三年级下册数学学困生帮扶计划
- 小学语文一年级下册教学监控计划
- 组织人事劳动合同风险点及整改措施
- 畜禽气候适应性养殖技术创新创业项目商业计划书
- 化妆品包装环保转型方案创新创业项目商业计划书
- 谷类作物品牌教育体验中心创新创业项目商业计划书
- 养老法律综合服务创新创业项目商业计划书
- VR酒店预览创新创业项目商业计划书
- 2025年中国离心式冷水中央空调行业市场深度分析及发展前景预测报告
- 滴灌通收入分成协议合同
- 园区建设保障房管理办法
- 2025入党培训考试题库及答案
- 2025至2030机场运营行业市场深度调研及前景趋势与投资报告
- 遂宁市射洪市招聘社区专职工作者考试真题2024
- 智慧工会平台管理办法
- 合作共建园区管理办法
- 2025年广东省中考英语试卷真题及答案详解(精校打印版)
- 2025至2030年中国智能炒菜机(炒菜机器人)行业市场现状调查及前景战略研判报告
- 宫腔镜手术围手术期护理
评论
0/150
提交评论