WebClient相同的请求适用于WinForms,但不适用于WP7

时间:2013-04-10 14:49:12

标签: c# windows-phone-7 webclient

这是我的代码:

    var client = new WebClient();
    client.Headers[HttpRequestHeader.Authorization] = "Basic " +    "SECRETCODE";
    client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded; charset=UTF-8";
    client.Headers[HttpRequestHeader.Host] = "api.quizlet.com";
    client.UploadStringCompleted += ClientOnUploadStringCompleted;

    client.UploadStringAsync(new Uri("https://api.quizlet.com/oauth/token"), "POST", string.Format("grant_type={0}&code={1}&redirect_uri={2}",
        HttpUtility.HtmlEncode("authorization_code"), HttpUtility.HtmlEncode(code), HttpUtility.HtmlEncode(AfterOAuthUrl)));

当我在WinForms中测试此代码时,我收到了正确的令牌,但是当我在WP7上使用它时,它会抛出异常:远程服务器返回:“未找到”。我该怎么办?这是WP证书问题,还是我必须在WP7上做一些不同的事情?

1 个答案:

答案 0 :(得分:1)

好的......尝试以下方法:

client.Headers[HttpRequestHeader.Referer] = "http://api.quizlet.com";

如果不起作用:

client.Headers[HttpRequestHeader.Referer] = "api.quizlet.com";

在WP项目中。如果它不起作用,请告诉我。