Я использую сторонние службы, которые могут регистрировать пользователя, а затем запоминают его, пока он не выйдет из системы. Я не уверен, как они это делают. Вы отправляете запрос GET с именем пользователя и паролем, а затем, если вы получите ответ «ОК», вы вошли в систему. Вы можете проверить, что вы вошли в систему другим методом GET. Когда я попробовал его в браузере, все в порядке. Я не знаю, что они использовали для различения других запросов.WebRequest - как он изменяется от других запросов (например, браузер и т. Д.)
Я делаю приложение Windows Phone, которое использует эти службы, но когда я использую WebRequest (HttpWebRequest), я получаю правильный ответ для регистрации, но когда я попробовал второй запрос для проверки входа пользователя в систему, тогда я получаю ответ, что он не является , Я беру методы моих помощников из проекта WP, и я добавил в проект WPF и попробовал его, и я получаю те же результаты. Поэтому я предполагаю, что проблема связана с настройками WebRequests (возможно, в заголовке). Может ли кто-нибудь сказать мне, в каком WebRequest отличается от запросов браузера? Или вы могли бы сказать мне, какой параметр я должен добавить в заголовок, чтобы заставить это работать? Благодаря
Это мои методы для получения данных из запросов:
public static async Task<string> SendGetRequestGetResponse(string url)
{
string result;
var request = (HttpWebRequest)WebRequest.Create(url);
using (var httpWebResponse = await HttpExtensions.GetResponseAsync(request))
{
using (var reader = new StreamReader(httpWebResponse.GetResponseStream()))
{
result = await reader.ReadToEndAsync();
}
}
return result;
}
public static Task<HttpWebResponse> GetResponseAsync(this HttpWebRequest request)
{
var taskComplete = new TaskCompletionSource<HttpWebResponse>();
request.BeginGetResponse(asyncResponse =>
{
try
{
var responseRequest = (HttpWebRequest)asyncResponse.AsyncState;
var someResponse = (HttpWebResponse)responseRequest.EndGetResponse(asyncResponse);
taskComplete.TrySetResult(someResponse);
}
catch (WebException webExc)
{
var failedResponse = (HttpWebResponse)webExc.Response;
taskComplete.TrySetResult(failedResponse);
}
}, request);
return taskComplete.Task;
}
Спасибо. Проблема заключалась в том, что я не сохранил файлы cookie, а затем я не отправляю их по новому запросу. –