Как прочитать файл cookie localstorage со стороны сервера?

#asp.net-core #cookies #asp.net-core-webapi #session-cookies #httpcookie

#asp.net-ядро #файлы cookie #asp.net-core-webapi #сеансовые файлы cookie #httpcookie

Вопрос:

У нас есть одно требование, при котором мы должны фиксировать файлы cookie веб-сайта. Мы можем захватить другие файлы cookie, кроме файлов cookie localstorage, в ответе httpclient.

Но как мы можем прочитать файлы cookie localstorage на стороне сервера. Поскольку localstorage находится на стороне клиента.

Итак, есть ли какой-либо способ загрузить веб-сайт на стороне сервера и прочитать эти файлы cookie?

Комментарии:

1. Что вы имеете в виду, говоря о файлах cookie localstorage? Вы имеете в виду, что хотите получить локальное хранилище на стороне clent? Если это ваше требование, вы должны написать коды на стороне клиента, чтобы отправить значение localstroage на сторону сервера, серверная сторона не может напрямую прочитать значение localstorage.

2. Да, хотите получить файлы cookie локального хранилища на стороне клиента. И я согласен с вами, что мы должны писать код на стороне сервера. Есть ли у вас какая-либо ссылка или пример кода для того же? Я пробовал использовать HtmlUnit, но не добился успеха.

Ответ №1:

Если вы хотите знать, как получить localstorage и опубликовать его в asp.net основной серверный сервер.

Я предлагаю вам попробовать использовать jquery для его достижения, вы могли бы использовать localStorage.setItem(key,value); для установки localStorage.getItem(key); get , затем вы могли бы использовать ajax для отправки запроса на серверную часть.

Более подробную информацию вы можете найти в приведенных ниже кодах:

На стороне клиента установите и получите localstorage с помощью ajax:

 <input name="SetValue" id="SetValue" value="SetValue" type="button" />

<br />
<input name="SendValue" id="SendValue" value="SendValue" type="button" />


@section scripts{
    <script>
        $(function () {
            $("#SetValue").click(function () {
                localStorage.setItem("test", "value")
            });

            $("#SendValue").click(function () {
 
                var str1 = localStorage.getItem("test");     
                $.ajax({
                    type: "POST",
                    data: JSON.stringify(str1),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    url: '/home/Myaction',
                    success: function (data) {
                    

                    },
                    error: function (xhr) {

                        console.log(xhr.responseText);
                        alert("Error has occurred..");
                    }
                });
               
            });
        });
    </script>
}
  

Контроллер MVC:

     [HttpPost]
    public ActionResult MyAction([FromBody]string str1)
    {
        return View();
        // code here 
    }
  

Результат:

введите описание изображения здесь