Как установить cookie в браузере, используя restharp? - PullRequest
0 голосов
/ 03 октября 2019

Я использую restsharp для аутентификации на внешнем веб-сайте. После этого я получаю ваш файл cookie.

Как я могу установить это в браузере, чтобы оставаться в системе?

request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Basic XXJhbmRvbTpyYW5kb20=");
IRestResponse response = client.Execute(request);

var cookie = client.CookieContainer.GetCookieHeader(new Uri("http://www.example.com"));

Может быть, в C # нет решения, яЯ думаю и возвращаюсь с помощью ajax и имею дело с Javascript, если это возможно.

1 Ответ

0 голосов
/ 03 октября 2019

Вы можете установить файлы cookie Google Chrome, если ваш тип проекта связан с ASP.Net.

Если вы создаете бэкэнд-программу, просто добавьте новый заголовок в ваш ответ:

public void Test()
{
     Response.Cookies.Append("ExampleCookie", "Cookie value!");
}

Вы не можете изначально установить файлы cookie Google Chrome из C #, если браузер запускает приложение на одном компьютере.

Я действительно не говорю, что ты не можешь, но ты действительно не должен этого делать. Потому что:

1) Вам необходимо выяснить, как файлы cookie хранятся в файлах. 2) Вам нужно изменить их. Структуры могут меняться при любом обновлении браузера. 3) Может запускать антивирусное программное обеспечение. Что, если ваше приложение пытается украсть что-то из браузера?

JavaScript выполняется только в контексте вашей страницы, у него есть доступ к внутреннему API, так что да, это гораздо проще сделать в JS.

Вы можете использовать встроенный браузер для WinForms или вы можете встроить CefSharp браузер (Chromium engine). Вы можете легко изменить файлы cookie этих браузеров (которые запускаются в контексте вашего приложения).

...