WebClient在WinForms上可以正常工作,但在WP7上无法工作

3

这是我的代码:

    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上需要做一些不同的事情?


如果在WinForms上删除设置主机属性,它是否仍然有效或者是否返回与WP相同的错误? - Shahar Prish
移除了 Host 标头,但 WinForms 仍然可以工作,这是什么意思? - LadislavBohm
请问能否将以下代码添加到 WinForms 并告诉我其是否仍然正常工作?参考来源:Headers[HttpRequestHeader.Referer] = "file:///Applications/Install/9036AAF3-F213-4CFB-B57E-576A05E1896D/Install/"; - Shahar Prish
它抛出一个异常:“远程服务器返回错误:错误的请求”。无论是否有主机属性,它都会抛出此错误。 - LadislavBohm
1个回答

1
好的...请尝试以下操作:
client.Headers[HttpRequestHeader.Referer] = "http://api.quizlet.com";

如果那不起作用:
client.Headers[HttpRequestHeader.Referer] = "api.quizlet.com";

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接