简体   繁体   中英

WebClient same request works on WinForms but doesn't work on WP7

Here is my code:

    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)));

When I test this code in WinForms, I recieve proper token, but when I use this on WP7, it throws exception: Remote server returned: "Not found". What should I do? Is this the WP certificate problem, or do I have to do something different on WP7?

Okay... Try the following:

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

If that doesn't work:

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

In the WP project. Let me know if it doesn't work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM