2010-08-11 2 views
3

Я использую asp.net mvc, и я хочу подделать сообщение http, чтобы узнать, что произойдет. Есть ли программное обеспечение, которое я могу использовать?Как подделать Http-сообщение?

+4

Является ли это для модульных тестов? – jwsample

ответ

7

Я считаю, что Fiddler позволяет это сделать, а также намного больше.

Я использую его только для проверки того, что происходит с сервером при работе с AJAX-индуцированными головными болями, но я уверен, что вы можете использовать его для повторной отправки HTTP-запросов, поскольку они были изначально и изменены, что должно приложите счет для вас.

+0

Вы верите правильно. Действительно. –

1

Мне нравится TamperData, аддон Firefox.

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(); 
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); 
} 
+0

Или вы можете сделать то же самое с JQuery: '$ .post (url, data, callback)'. :-) http://api.jquery.com/jQuery.post/ – Ryan

+0

проклятый jQuery ... всегда кражу моего JavaScript-foo :) –

0

Charles обладает способностью захватывать любые запросы HTTP и ответы и позволяет сохранить сессии и редактировать/повторить их легко. Стоит попробовать и посмотреть, понравится ли вам это.

Смежные вопросы