【发布时间】:2012-09-12 22:44:35
【问题描述】:
我正在开发一个登录网页并获取一些数据的 WinRT 应用程序。问题是我收到“HttpRequestException:发送请求时出错”消息。代码如下:
Uri url = new Uri("https://miyoigo-b.yoigo.com/selfcare/login");
HttpContent msg = new StringContent("account[cli]=" + number + "&password=" + pass);
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
handler.UseCookies = true;
handler.CookieContainer = new CookieContainer();
HttpClient req = new HttpClient(handler);
req.DefaultRequestHeaders.Add("Host", "miyoigo-b.yoigo.com");
req.DefaultRequestHeaders.ExpectContinue = false;
HttpResponseMessage response = await req.PostAsync(url, msg);
string responseBody = await response.Content.ReadAsStringAsync();
我已经尝试了很多我在互联网上找到的东西,甚至禁用了我的防火墙,但没有任何效果。我从一个 Windows Phone 应用程序移植了它,它确实适用于这个:
Uri url = new Uri("https://miyoigo-b.yoigo.com/selfcare/login");
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.Method = "POST";
req.Headers["Host"] = "miyoigo-b.yoigo.com";
req.CookieContainer = new CookieContainer();
req.BeginGetRequestStream(new AsyncCallback(WriteCallback), req);
然后,在回调中,我创建了一个流并编写了凭据。
有什么想法吗??我知道问题只出在这个网页上,可能是我忘记发送内容或 POST 内容的格式不正确...
谢谢
【问题讨论】:
-
有没有更详细的
InnerException? -
我看到一个错误,表明它无法建立 SSL/TLS 安全通道 - 这就是你得到的吗?
-
您是否在应用的清单中添加了所需的功能?
-
我添加了“家庭或工作网络”和“Internet(客户端和服务器)”,但我仍然遇到同样的问题
-
如果您在建立 SSL/TLS 时遇到问题,则意味着您的机器不信任该站点的证书。如果您尝试从浏览器访问该地址会发生什么?
标签: post https windows-8 httpclient