Отправить post запрос с получением куки

186
17 августа 2017, 19:54

Доброго времени суток, знатоки! Сделала авторизацию с сессией на 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}
        }
Answer 1

Это класс взят с английского 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}
    }
READ ALSO
Сравнение двух .txt

Сравнение двух .txt

Есть 1txt и 2

200
Программно привязать/указать/изменить Script в Unity

Программно привязать/указать/изменить Script в Unity

Довольно недавно начал изучать UnityВсё шло довольно ровно и хорошо, пока не случилось это

239
DDD Одна Машина и разные модели

DDD Одна Машина и разные модели

Исходные условия: - У нас есть класс измерительного прибора (MeasureDevice)MeasureDevice является сущностью

215
Ошибка с неуправляемой памятью

Ошибка с неуправляемой памятью

Есть библиотека на c++ и документация к нейВ целом с ней могу работать, но с некоторыми функциями проблема

328