如何伪造Http帖子?

时间:2010-08-11 21:59:55

标签: c# asp.net-mvc asp.net-mvc-2

我正在使用asp.net mvc,我想伪造一个http帖子,看看会发生什么。有没有我可以使用的软件?

6 个答案:

答案 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