WinJS.Xhr更改用户代理

时间:2014-07-09 14:42:10

标签: winjs windows-phone-8.1

如何更改xhr请求的用户代理? 当我设置请求的标头时,它不会改变:

 request = WinJS.xhr({
                url: url,
                data: params,
                type: "POST",
                headers : { "Content-type": "application/x-www-form-urlencoded", "User-Agent": "TEST" }
            });

用户代理是: User-Agent Mozilla / 5.0(Windows Phone 8.1; ARM; Trident / 7.0; Touch; MSAppHost / 2.0; rv:11.0; IEMobile / 11.0; HTC; HTC的Windows Phone 8X),如Gecko

3 个答案:

答案 0 :(得分:2)

尝试使用Windows.Web.Http.HttpClient API,这样可以更灵活地设置标题。例如,您可以使用用户代理字符串修改默认标头,本主题中对此进行了描述:http://msdn.microsoft.com/en-us/library/windows/apps/dn469430.aspx

您还可以将HttpClient.sendRequestAsync与自定义构建的HttpRequestMessage对象一起使用,您可以在其中设置标题。

此API不像WinJS.xhr那样使用XMLHttpRequest,因此您不受该规范的约束,可以更改用户代理字符串。

答案 1 :(得分:1)

根据在WinJS.XHR封面下使用的XMLHttpRequest specification,更改了“用户代理”。标头已终止。我认为没有办法解决这个问题。也许你可以使用自定义标题?

  

5.如果header对以下标题之一不区分大小写,请执行以下步骤:

     
      
  • Accept-Charset
  •   
  • 接受编码
  •   
  • 访问控制请求报头
  •   
  • 访问控制请求方法
  •   
  • 连接内容长度Cookie
  •   
  • COOKIE2
  •   
  • 日期
  •   
  • DNT
  •   
  • 期待
  •   
  • 主持人
  •   
  • Keep-Alive
  •   
  • Origin
  •   
  • Referer
  •   
  • TE
  •   
  • 拖车
  •   
  • 转移编码
  •   
  • 升级
  •   
  • 用户代理
  •   
  •   

答案 2 :(得分:0)

尝试:

{{1}}