Доброго времени суток, знатоки! Сделала авторизацию с сессией на php, в приложении пытаюсь отправить post запрос на сервер, для авторизации. Подскажите, пожалуйста, как мне принять куки с сервера, дабы при входе в программу не приходилось вводить логин и пароль, или может быть есть какой то более гуманный способ? Спасибо!
using (var client = new WebClient())
{
var values = new NameValueCollection();
values["login"] = loginBox.Text;
values["password"] = passwordBox.Password;
var response = client.UploadValues("http://127.0.0.1/login", values);
var responseString = Encoding.Default.GetString(response);
if (true)
{// something}
}
Это класс взят с английского stackoverflaw
public class CookieAwareWebClient : WebClient
{
public CookieAwareWebClient()
{
CookieContainer = new CookieContainer();
this.ResponseCookies = new CookieCollection();
}
public CookieContainer CookieContainer { get; private set; }
public CookieCollection ResponseCookies { get; set; }
protected override WebRequest GetWebRequest(Uri address)
{
var request = (HttpWebRequest)base.GetWebRequest(address);
request.CookieContainer = CookieContainer;
return request;
}
protected override WebResponse GetWebResponse(WebRequest request)
{
var response = (HttpWebResponse)base.GetWebResponse(request);
this.ResponseCookies = response.Cookies;
return response;
}
}
и он там был не раз скопипастен в различных вариантах)
и использование в вашем коде
using (var client = new CookieAwareWebClient())
{
var values = new NameValueCollection();
values["login"] = loginBox.Text;
values["password"] = passwordBox.Password;
var response = client.UploadValues("http://127.0.0.1/login", values);
var phpSessionId = ResponseCookies["PHPSESSID"]
if (phpSessionId != null)
{// something}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Довольно недавно начал изучать UnityВсё шло довольно ровно и хорошо, пока не случилось это
Исходные условия: - У нас есть класс измерительного прибора (MeasureDevice)MeasureDevice является сущностью
Есть библиотека на c++ и документация к нейВ целом с ней могу работать, но с некоторыми функциями проблема