Как читать местные куки - PullRequest
5 голосов
/ 29 июля 2010

У меня есть веб-приложение ASP.NET, которое хранит куки-файл HTTP, когда выполнено определенное действие (например, нажата ссылка).Теперь я создаю отдельное приложение на C #, которое должно просматривать папку с файлами cookie и распознавать, когда в моем веб-приложении была создана запись о файле cookie, и читать содержимое файла cookie.

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

Ответы [ 3 ]

5 голосов
/ 29 июля 2010

Я не могу не думать, что это просто неправильный способ сделать это ... и это вызывает злоупотребления безопасностью. Нет лучшего способа сделать это? Возможно, разместить страницу в элементе управления WebBrowser и использовать объект ObjectForScripting (вашего изобретения), чтобы вы могли общаться с приложением C # из JavaScript?

5 голосов
/ 29 июля 2010

Вы должны быть в состоянии PInvoke InternetGetCookie.

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
protected static extern bool InternetGetCookie(
    string url,
    string name,
    StringBuilder cookieData,
    ref int length);

Затем вы можете позвонить InternetGetCookie, как показано ниже, при условии, что вы используете Rest Starter Kit .

StringBuilder cookieBuffer = new StringBuilder(1024); 
int size = 1024; 
bool bSuccess = InternetGetCookie("domain uri", "cookie_name", cookieBuffer, ref size); 
if (!bSuccess) 
{ 
    Int32 err = Marshal.GetLastWin32Error(); 
    //log err
} 
if (cookieBuffer != null && (cookieBuffer.Length > 0)) 
{ 
    Microsoft.Http.Headers.Cookie cookie = Microsoft.Http.Headers.Cookie.Parse(cookieBuffer.ToString()); 
    HeaderValues<Microsoft.Http.Headers.Cookie> requestCookies = new HeaderValues<Microsoft.Http.Headers.Cookie>(); 
    requestCookies.Add(cookie); 
}
0 голосов
/ 29 июля 2010

Есть еще одна вещь, которую вы можете сделать, которая может вызвать локальное приложение, нажав на ссылку. Вам нужно зарегистрировать приложение по протоколу URL, как показано здесь . Вот учебник и пример приложения, которое вы можете посмотреть на .

Это имеет свои собственные последствия для безопасности. Однако это простой способ вызвать ваше приложение с веб-страницы, и он позволяет передавать данные через параметры командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...