我编写了一个显示Disqus评论的应用程序,当我在桌面上将其作为.NET应用程序运行时,效果很好。它发送一个http请求,然后反序列化json对象。但是当我将代码移动到我的Windows Phone应用程序时,我收到了来自Disqus的错误。
似乎因为Windows Phone决定添加一个随机的http referer,我的请求失败了。我不允许在Windows手机上更改引用程序我收到消息“不能直接修改'Referer'标题。”如果我尝试这样做。
是否有针对此的解决方法,不需要我构建一个删除referer标头的代理?
答案 0 :(得分:1)
从我可以从this post收集的内容中,如果不使用代理服务,则无法删除Referer header
。显然这段代码适用于一个人:
var uri = new Uri ("http://some.where");
var request = WebRequestCreator.ClientHttp.Create (uri) as HttpWebRequest;
request.Headers ["user-agent"] = "My user agent string";
request.BeginGetResponse (...);
但是,似乎该主题中的普遍共识是没有办法改变它,但它应该在Mango
版本中修复。
答案 1 :(得分:1)
而不是request.Referer = referer
使用request.Headers[HttpRequestHeader.Referer] = referer
,它将起作用