Получить 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;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5