Получить httponly куки - C#
Формулировка задачи:
Здравствуйте, прошу помочь. Не могу получить все необходимые куки для авторизации, так как они httponly. Нашел пример кода, как их получить. Но не могу понять его и как с ним работать. Куда там в коде вписать адрес сайта, по которому нужно получить куки. И где указать контейнер webbrowser, где хранятся эти куки. Я через webbrowser автризуюсь на сайте, и потом через запросы парсю сайт.
Листинг программы
- [DllImport("wininet.dll", SetLastError = true)]
- public static extern bool InternetGetCookieEx(
- string url,
- string cookieName,
- StringBuilder cookieData,
- ref int size,
- Int32 dwFlags,
- IntPtr lpReserved);
- private const Int32 InternetCookieHttponly = 0x2000;
- /// <summary>
- /// Gets the URI cookie container.
- /// </summary>
- /// <param name="uri">The URI.</param>
- /// <returns></returns>
- public static CookieContainer GetUriCookieContainer(Uri uri)
- {
- CookieContainer cookies = null;
- // Determine the size of the cookie
- int datasize = 8192 * 16;
- StringBuilder cookieData = new StringBuilder(datasize);
- if (!InternetGetCookieEx(uri.ToString(), null, cookieData, ref datasize, InternetCookieHttponly, IntPtr.Zero))
- {
- if (datasize < 0)
- return null;
- // Allocate stringbuilder large enough to hold the cookie
- cookieData = new StringBuilder(datasize);
- if (!InternetGetCookieEx(
- uri.ToString(),
- null, cookieData,
- ref datasize,
- InternetCookieHttponly,
- IntPtr.Zero))
- return null;
- }
- if (cookieData.Length > 0)
- {
- cookies = new CookieContainer();
- cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));
- }
- return cookies;
- }
Решение задачи: «Получить httponly куки»
textual
Листинг программы
- public CookieContainer kont()
- {
- {
- Uri site = new Uri("http://траляля");
- BrCookie = GetUriCookieContainer(site);
- }
- return BrCookie;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д