0

当我在 windows phone7 中保持对直播服务器的请求以显示流派时。我得到这样的响应 460 Missing required parameterREFERRER 我没有让流派显示。但它正在浏览器中显示。我可以在 Windows phone7 中显示所有站点,除了喊话服务器。请帮助先生。这是我的代码

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) { DoWebClient();

    }

    private void DoWebClient()
    {
        var webClient = new WebClient();

        webClient.OpenReadAsync(new Uri("http://api.shoutcast.com/legacy/genrelist?k=ar1CybnF1NXzbH9Z"));
        webClient.OpenReadCompleted +=new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    }

    void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
        using (var reader = new StreamReader(e.Result))
        {
            string data = reader.ReadToEnd();

        }
    }

在数据中,它得到了这样的响应..

4

1 回答 1

0

只需添加这一行:

webClient.Headers[HttpRequestHeader.Referer] = "http://api.shoutcast.com";

在 DoWebClient 中如下:

private void DoWebClient()
{
    var webClient = new WebClient();

    webClient.Headers[HttpRequestHeader.Referer]
        = "http://api.shoutcast.com"; 


    webClient.OpenReadAsync(new Uri("http://api.shoutcast.com/legacy/genrelist?k=ar1CybnF1NXzbH9Z"));
    webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
}

我还建议您使用 RestSharp 库对 xml 文件进行此类查询。

研究生,

于 2012-04-17T10:06:22.073 回答