我正在使用asp.net mvc,我想伪造一个http帖子,看看会发生什么。有没有我可以使用的软件?
答案 0 :(得分:7)
我相信Fiddler允许你这样做,还有更多。
在处理AJAX引发的麻烦时,我只使用它来检查服务器的内容,但是我相当确定你可以使用它来重新发出最初和修改的HTTP请求,这应该适合你的账单。
答案 1 :(得分:2)
string var1 = "Foo";
string var2 = "Bar";
ASCIIEncoding encoding = new ASCIIEncoding();
string post = "var1=" + var1 + "&var2=" + var2;
byte[] bites = encoding.GetBytes(post);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://Url/PageToPostTo.aspx");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = bites.Length;
Stream s = request.GetRequestStream();
s.Write(bites, 0, bites.Length);
s.Close();
答案 2 :(得分:1)
我喜欢TamperData,一个Firefox插件。
答案 3 :(得分:0)
以下是一些javascript:
function makeRequest(message,url,responseFunction){
var http_request;
if (window.XMLHttpRequest){ // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
}
else if (window.ActiveXObject){ // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
http_request.onreadystatechange = responseFunction;
http_request.open("POST", url);
http_request.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
http_request.send(message);
}
答案 4 :(得分:0)
Charles能够捕获任何http请求和响应,并允许您轻松保存会话并编辑/重复它们。值得一试,看看是否符合你的喜好。
答案 5 :(得分:0)
以下开源项目允许您在验收测试中伪造外部Web服务。
它支持常见的HTTP动词GET,POST,DELETE& PUT;
http://www.nuget.org/packages/boomerang/ https://github.com/garfieldmoore/Boomerang