C# 伪造 referer 提交数据
2015-03-19 15:20
253 查看
private string SendRequest(string account, string cardNumber, string cardPass) { string targetUrl = https://xxx.com/;//要提交数据的目标网站 //提交的数据 string postData = string.Format("ursName={0}&userName2={0}&cardNo={1}&cardPass={2}", account, cardNumber, cardPass); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetUrl); request.Method = "POST"; request.Referer = http://www.xxx.com/jsp/xxx.jsp; byte[] bytes = Encoding.UTF8.GetBytes(postData); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = bytes.Length; Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default); string responseText = reader.ReadToEnd(); string res = "成功!"; if (responseText.Contains("errorID")) { string errorDetailPage = new System.Text.RegularExpressions.Regex(@"URL=(?<url>.*?)"">", System.Text.RegularExpressions.RegexOptions.IgnoreCase | System.Text.RegularExpressions.RegexOptions.Multiline ).Match(responseText).Groups["url"].Value; HttpWebRequest requestErrorInfo = (HttpWebRequest)WebRequest.Create(errorDetailPage); requestErrorInfo.Method = "GET"; requestErrorInfo.Proxy = request.Proxy; HttpWebResponse responseErrorInfo = (HttpWebResponse)requestErrorInfo.GetResponse(); StreamReader readerErrorInfo = new StreamReader(responseErrorInfo.GetResponseStream(), Encoding.Default); string responseTextErrorInfo = readerErrorInfo.ReadToEnd(); string errorDetailMessage = new System.Text.RegularExpressions.Regex(@"<h3>(?<info>.*?)<.*?</h3>", System.Text.RegularExpressions.RegexOptions.IgnoreCase | System.Text.RegularExpressions.RegexOptions.Multiline ).Match(responseTextErrorInfo).Groups["info"].Value.Replace(" ", ""); res = string.Format(@"失败!<br />错误信息:{0}<br /><a href=""{1}"" target=""_blank"">查看错误详情</a>", errorDetailMessage, errorDetailPage); } return res; }
相关文章推荐
- C# 伪造 referer 提交数据
- c#post数据提交
- C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
- c# get post 提交数据 支持cookies net组件
- 转载 C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
- 伪造表单提交目的地,窃取数据
- 在c#.net中,用户点击提交后,刷新页面反复提交数据的解决
- C# HttpWebRequest提交数据方式浅析
- C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
- C# HttpWebRequest提交数据方式浅析
- C#中使用HttpWebRequest用Post提交MultiPart数据
- C# HttpWebRequest提交数据方式浅析
- (转)C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
- C# Winform利用POST传值方式模拟表单提交数据(Winform与网页交互)
- C# Winform利用POST传值方式模拟表单提交数据
- c#中按钮提交事件的插入数据到数据库的代码
- C# 向DataTable中插入数据或伪造DataTable
- C# HttpWebRequest提交数据方式浅析
- 【C#】jQuery使用 $.post提交json数据
- C# HttpWebRequest提交数据方式浅析