2010-02-24 80 views
0

我需要从windows-client访问服务?可以通过ajax - GET请求调用。如果我使用HttpWebRequest request = HttpWebRequest.Create...如何在c中模拟XHttpRequest#

为前网址返回XML

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

,并将其返回的长度为0的响应(在浏览器,它retun正确反应)

我想的问题是 - 服务器检测该查询为非xhttp查询(是否有区别?)

谢谢。

+1

你记得验证? URL的性质使我认为它可能是先决条件。当然,这也是 – spender 2010-02-24 09:30:08

+0

。相同的WebReuqest可以完美地处理其他请求。 我认为这是因为HOST-Header值。 – Maxim 2010-02-24 10:09:54

回答

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;