如何在c#中模拟Http请求

时间:2010-02-24 09:04:20

标签: c# xmlhttprequest

我需要从windows-client访问服务吗?可以通过ajax调用 - GET请求。并返回XML

如果我使用HttpWebRequest request = HttpWebRequest.Create...

代表:http://site.com/UtilBillAjaxServlet?event=GET_PAMENT_CENT_DUE&SERVICEPROIDER=providername&SERVICETYPE=BROADBAND&CONSUMERNUMBER=195100601

它返回0长度响应(在浏览器中重新调整正确响应)

我认为问题是 - 服务器检测到该查询为非xhttp查询(有什么不同吗?)

谢谢。

2 个答案:

答案 0 :(得分:2)

您应该使用fiddler或任何其他嗅探器进行追踪。

但是为了做你想做的事,只需使用以下内容: http://support.microsoft.com/default.aspx/kb/307023

答案 1 :(得分:1)

服务可能只响应来自浏览器的请求;我发现这有点奇怪,但并非闻所未闻。

但是,如果是这种情况,您可以模拟浏览器请求:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(yourUri);

// Pretend to be IE6!
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.1)";
request.Method = "GET";
request.AllowAutoRedirect = true;
request.KeepAlive = true;