2015-09-01 2 views
0

Хорошо, я бросил полотенце и повернулся к тем, кто может быть в курсе. Я обыскал сеть, попробовал несколько примеров, но я не собираюсь извлекать данные из своего контейнера для файлов cookie.Доступ к содержимому CookieContainer() в C#

Когда я отлаживать код, который я могу увидеть вход/значение я после на моей переменной по адресу: CookieContianer> непубличные члены> m_domainTable> {домен URI}> Значение> список записей

Существует запись там называется JSESSIONID. Все, что я хочу сделать, это получить эту конкретную запись, чтобы я мог использовать ее назначенное значение.

Может ли кто-нибудь пролить свет, как я могу с этим справиться?

Большое спасибо.

==== Пример того, как я делаю мою просьбу (заметьте RequestItem передается из другого метода):

var request = (HttpWebRequest)WebRequest.Create(requestItem.RequestUri); 
request.CookieContainer = new CookieContainer(); 

.... some additional code here building up a web request 

var formResponse = (HttpWebResponse)formPost.GetResponse(); 

... some additional logic to check the headers to see if authentication was successful 

requestItem.CookieContainer = request.CookieContainer; 

//This call to the requested protected resource which uses the cookiecontainer from the authenticat 

var passRequest = (HttpWebResponse) requestItem.GetResponse(); 

ответ

1

Учитывая, что ваша пара ключей ключ печенье/значение JSESSIONID и вы пытаясь получить значение этого ключа в вашем приложении ASP.NET; вы можете сделать что-то вроде ниже

var cookieValue = Request.Cookies["JSESSIONID"].Value; 
+0

Hi Rahul, спасибо за ваш ответ. Я работаю над проектом web api и звоню с помощью HttpWebRequest. Поскольку я работаю с RTC, мне нужно пройти аутентификацию, первый из которых передает cookiecontainer обратно на мой основной вызов для веб-ресурса, который я запрашиваю. Поэтому я не смог использовать пример, который вы любезно разместили, как есть. – Sulphy

+0

@Sulphy, ваш 'requestItem.CookieContainer' содержит значение cookie? Вы имеете в виду, что вы вызываете метод 'requestItem.GetResponse();' он автоматически пытается прочитать значение cookie. Извините, я не могу предложить большую помощь, потому что я сам смущен тем, как вы пытаетесь прочитать значение cooki. – Rahul

+0

Hiya. Скопировав CookieContainer через бит кода, который обрабатывает проверку подлинности форм, я могу запросить защищенный ресурс. Это работает нормально, но я думаю, что RTC (REST api, с которым я говорю) немного забавна и хочет, чтобы присутствовал другой конкретный заголовок. Когда я отлаживаю и наводил курсор на мою переменную requestItem, отображаются свойства/атрибуты для CookieContainer. Я могу перемещаться и находить перечисленные значения, одним из которых является запись JSESSIONID. Проблема в том, что я не знаю, как я могу захватить эти данные и вытащить их из CookieContainer с помощью кода. – Sulphy