C# 伪造 referer 提交数据
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, , 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 提交数据的更多相关文章
- JavaScript 伪造 Referer 来路方法
Javascript 是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题, ...
- php用fsockopen实现post提交数据并获得返回数据
/** * 函数介绍: 用于post方式提交数据 * 输入参数: 完整url, 数据 * 返回值 : 接口返回值 */ function post_it($url, $data = '', $time ...
- php模拟POST请求提交数据
php模拟POST请求提交数据 1.基于fsockopen function phppost00($jsonString){ $URL='https://www.jy.com/phppostok.ph ...
- iframe 加form提交数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Django中Ajax提交数据的CSRF问题
错误信息: Forbidden (CSRF token missing or incorrect.): 什么是CSRF: django为用户实现防止跨站请求伪造的功能,通过中间件 django.mid ...
- pos提交提交数据时碰到Django csrf
我的github(PS:希望star):https://github.com/thWinterSun/v-admin 最近在用Vue写前端代码,再用vue-resource向后台提交数据.项目后台是用 ...
- delphi 模拟POST提交数据
unit GetHttpInfo; interface uses Classes, WinINet, Sysutils, windows, IDURI, IdSSLOpenSSL , IdBaseCo ...
- C#中使用 HttpWebRequest 向网站提交数据
HttpWebRequest 是 .NET 基类库中的一个类,在命名空间 System.Net 里,用来使用户通过 HTTP 协议和服务器交互. HttpWebRequest 对 HTTP 协议进行了 ...
- php CURL 模拟 POST 提交数据
<?php function liansuo_post($url,$data){ // 模拟提交数据函数 $curl = curl_init(); // 启动一个CURL会话 curl_seto ...
随机推荐
- mysql导入到elasticsearch
JDBC importer for Elasticsearch Java Database 连接(JDBC) 导入运行获取数据从JDBC 源 安装: 1.在下面的步骤 替换<version> ...
- JAVASCRIPT实现XML分页
为了方便用户查看大批量数据,我们会用到动态分页,因此分页功能是我们在网站上见过的最普遍也是最常用的一个功能模块了.而以往的信息分页都是连接到数据库的,每一次点击都必须要后台数据库的支持.这样不但服务器 ...
- 【POJ】Buy Tickets(线段树)
点更新用法很巧妙的一道题.倒序很容易的找到该人的位置,而update操作中需要不断的变化下标才能合理的插入.看了别人写的代码,学习了. #include <iostream> #inclu ...
- Linux内存点滴 用户进程内存空间
Linux内存点滴 用户进程内存空间 经常使用top命令了解进程信息,其中包括内存方面的信息.命令top帮助文档是这么解释各个字段的. VIRT, Virtual Image (kb) RES, Re ...
- hdu 5335 Walk Out(bfs+寻找路径)
Problem Description In an n∗m maze, the right-bottom corner or a written on it. An explorer gets los ...
- linux使用共享内存通信的进程同步退出问题
两个甚至多个进程使用共享内存(shm)通信,总遇到同步问题.这里的“同步问题”不是说进程读写同步问题,这个用信号量就好了.这里的同步问题说的是同步退出问题,到底谁先退出,怎么知道对方退出了.举个例子: ...
- Ajax_post发送
$('#img_file_del_3').click(function() { var data={name:$('#img_file_del_3').attr('name')}; var url=' ...
- python之路-模块 splinter
Splinter介绍 Splinter is an open source tool for testing web applications using Python. It lets you au ...
- 格而知之16:我所理解的Block(3)
23.在前文中的例子中,Block结构体里的isa指针还没有详细讲解,这个指针都被置向了_NSConcreteStackBlock,它标识了Block的类型. 其实除了_NSConcreteStack ...
- as3 updateAfterEvent的作用
flash中一共有三个类具有该属性,这三个类分别是:KeyboardEvent,MouseEvent,TimerEvent.调用updateAfterEvent 属性的事件,可强制立即执行呈现操作,而 ...