【问题标题】:WP7 WebClient cannot find specific serverWP7 WebClient 找不到特定的服务器
【发布时间】:2012-08-17 14:49:26
【问题描述】:

好吧,也许这是有史以来最愚蠢的问题,但我真的不明白发生了什么:D

我有这个简单的代码:

private void button1_Click(object sender, RoutedEventArgs e)
    {
        Uri url = new Uri("http://www.something.com/");
        WebClient wc = new WebClient();  
        wc.DownloadStringAsync(url);
        wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);
    }

    void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        string result = e.Result;
    }

当服务器的地址是“ts4.travian.it”时,它运行良好,除了一种情况(显然是我需要的)。在这种情况下,我收到此错误:“远程服务器返回错误:NotFound。” 奇怪的是,如果我用基本相同的代码编写一个小型控制台应用程序,它就可以工作......有什么想法吗?

编辑:更具体地说,服务器返回错误 403 - 禁止,但如果我在控制台应用程序中尝试相同的代码,它会完美运行......不知道该怎么想......我正在调试诺基亚 Lumia 800 上的应用程序

【问题讨论】:

    标签: c# windows-phone-7 webclient


    【解决方案1】:

    我终于找到了问题。 Silverlight框架自动设置HttpWebRequest的Referer头,服务器“ts4.travian.it”拒绝了,因为不正确。

    【讨论】:

    • 感谢您发布您的解决方案,因为它只是帮助我解决了类似的问题。删除 referer 标头使我停止接收 403 响应,并允许请求正常工作。
    【解决方案2】:

    您是否忘记提供该案例的输出?

    编辑

    状态码“403”表示服务器不喜欢您的应用中的某些内容。谁知道它可能会检查您的 UA 字符串并看到您使用的是 IE Mobile 我猜。比他不想让你看到的内容。嗯?

    【讨论】:

    • 不,它返回错误“远程服务器返回错误:NotFound。”
    • 是的。问题是这个错误描述不是很有帮助,因为很多 Web 异常返回“远程服务器返回错误:未找到”。愚蠢的问题:你不是想连接到“ts4.travian.it”而不是“ts4.travian.it”,开头有“http://”吗?
    • 而不是 Uri url = new Uri("something.com/") 我写 Uri url = new Uri("ts4.travian.it/")
    • 我也尝试更改用户代理,没办法...同样的结果...沉迷于此,如果我尝试获取另一个页面 (ts1.travian.com),则代码有效。 ..
    • 我几乎可以肯定这是服务器端问题。如果不知道应用程序连接时那里发生了什么,就无法说出任何有用的信息。既然另一个页面运行良好并且看起来相同(我猜)为什么不使用它呢?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2016-01-02
    相关资源
    最近更新 更多