1

好吧,也许这是有史以来最愚蠢的问题,但我真的不明白发生了什么: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”时,它运行良好,除了一种情况(显然是我需要的情况)。在这种情况下,我收到此错误:“远程服务器返回错误:未找到。” 奇怪的是,如果我用基本相同的代码编写一个小型控制台应用程序,它就可以工作……知道吗?

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

4

2 回答 2

2

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

于 2012-08-18T16:38:21.347 回答
0

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

编辑

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

于 2012-08-17T15:43:53.100 回答