0

Webページにログインしてデータを取得する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();

私はインターネットで見つけた多くのことを試し、ファイアウォールを無効にすることさえしましたが、何も機能しませんでした。私はこれをWindowsPhoneアプリから移植していますが、これで動作しました:

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コンテンツのフォーマットが正しくありません...

ありがとう

4

1 に答える 1

0

最後に問題は、Win8 Metro アプリが SSL3.1 しか受け入れず、この Web ページが SSL3.0 を使用していたことです。解決策は、新しいバージョンの Web ページを使用することでした。

皆さん、ありがとうございました

于 2012-09-29T12:11:18.980 に答える