9gag 용 Windows 스토어 앱을 만들고 싶습니다. 나는 HttpClient를 사용한다.HttpClient를 사용하여 9gag에 연결
나는 그가 좋아할 수있게 사용자를 연결하고 싶다. 그래서, 나는 9gag에 POST 요청을/데이터와 로그인하고 실패합니다. 동료는 자바 스크립트에서 비슷한 일을했고,이
private async void connect()
{
try
{
string result;
HttpResponseMessage response = await httpClient.GetAsync(url + "login/");
response.EnsureSuccessStatusCode();
result = await response.Content.ReadAsStringAsync();
string key = takeKey(result);
var values = new Dictionary<string, string> { { "csrftoken", key }, { "username", username }, { "password", password } };
//Header of the http request
HttpContent header = new FormUrlEncodedContent(values);
response = await httpClient.PostAsync(url + "login/", header);
response.EnsureSuccessStatusCode();
result = await response.Content.ReadAsStringAsync();
string test = response.IsSuccessStatusCode.ToString();
}
catch (HttpRequestException hre)
{
string test = "";
}
catch (Exception ex)
{
// For debugging
string test = "";
}
}
내가 뭔가 ... URL의 값은 그들 중 하나입니다 .... HTTPContent을 넣어 여러 가지 방법을 시도 ... 일에 "http ://9gag.com/ "이므로 끝 부분에 중단 점을 넣을 때. 결과를보고 브라우저에서 시도하면 "다시 시도하십시오."라는 오류가 나타납니다. 암호가 잘못되면 "잘못된 조합 사용자/암호 blablabla"라는 오류 메시지가 나타납니다.
그래서, 어떤 아이디어가? .... 나는 아주 잘 쿠키를 handeling하지 ....
응답을 비동기 적으로 요청합니다. –
네, 왜냐하면 .Net for Windows Store Apps에서 모든 것이 비동기이기 때문입니다. HttpWebRequest를 사용하기 전에 비동기 메소드가 사용 가능하지 않기 때문에 ... – Nic007
예하지만 새 스레드에서 컨텐츠를 요청하고 시작 직후 스레드는 아직 쓰여지지 않은 문자열을 읽습니다. –