【问题标题】:How to emulate XHttpRequest in c#如何在 C# 中模拟 Http 请求
【发布时间】:2010-02-24 18:11:24
【问题描述】:

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

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

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

它返回 0 长度的响应(在浏览器中它返回正确的响应)

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

谢谢。

【问题讨论】:

  • 你记得认证吗? URL 的性质让我觉得它可能是一个先决条件。/
  • 当然。相同的 WebReuqest 可以完美地处理其他请求。我认为这是因为 HOST-Header 值。

标签: c# xmlhttprequest


【解决方案1】:

您应该使用 fiddler 或任何其他嗅探器来跟踪它。

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

【讨论】:

    【解决方案2】:

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

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

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      相关资源
      最近更新 更多