Необработанное исключение типа "System.Net.CookieException" - C#

Узнай цену своей работы

Формулировка задачи:

Есть код. Хочу достать cookies с webbrowser1. Пишет ошибку: Необработанное исключение типа "System.Net.CookieException" в System.dll Дополнительные сведения: Недопустимая часть "Value"="7200,0" файла cookie. Что я делаю не так???
Листинг программы
  1. public CookieContainer GetCookieContainer()
  2. {
  3. CookieContainer container = new CookieContainer();
  4. foreach (string cookie in webBrowser1.Document.Cookie.Split(';'))
  5. {
  6. string name = cookie.Split('=')[0];
  7. string value = cookie.Substring(name.Length + 1);
  8. string path = "/";
  9. string domain = ".steamcommunity.com"; //change to your domain name
  10. container.Add(new System.Net.Cookie(name.Trim(), value.Trim(), path, domain));
  11. }
  12. return container;
  13. }
_ga=GA1.2.1317698739.1478508335; timezoneOffset=7200,0; sessionid=15c54f90d07c675352504989; steamCountry=UA%7Cd0fdd0d7b615e7c0200338daca9e4cc4 Сами куки
Дописал
Листинг программы
  1. value = Regex.Replace(value, ",", ".");
, но оно не пашет. Хотя куки передает с функции. Я что то зецепил когда исправил 7200,0 на 7200.0???

Решение задачи: «Необработанное исключение типа "System.Net.CookieException"»

textual
Листинг программы
  1.   [DllImport("wininet.dll", SetLastError = true)]
  2.     public static extern bool InternetGetCookieEx(
  3.         string url,
  4.         string cookieName,
  5.         StringBuilder cookieData,
  6.         ref int size,
  7.         Int32  dwFlags,
  8.         IntPtr  lpReserved);
  9.  
  10.     private const Int32 InternetCookieHttponly = 0x2000;
  11.  
  12. /// <summary>
  13. /// Gets the URI cookie container.
  14. /// </summary>
  15. /// <param name="uri">The URI.</param>
  16. /// <returns></returns>
  17. public static CookieContainer GetUriCookieContainer(Uri uri)
  18. {
  19.     CookieContainer cookies = null;
  20.     // Determine the size of the cookie
  21.     int datasize = 8192 * 16;
  22.     StringBuilder cookieData = new StringBuilder(datasize);
  23.     if (!InternetGetCookieEx(uri.ToString(), null, cookieData, ref datasize, InternetCookieHttponly, IntPtr.Zero))
  24.     {
  25.         if (datasize < 0)
  26.             return null;
  27.         // Allocate stringbuilder large enough to hold the cookie
  28.         cookieData = new StringBuilder(datasize);
  29.         if (!InternetGetCookieEx(
  30.             uri.ToString(),
  31.             null, cookieData,
  32.             ref datasize,
  33.             InternetCookieHttponly,
  34.             IntPtr.Zero))
  35.             return null;
  36.     }
  37.     if (cookieData.Length > 0)
  38.     {
  39.         cookies = new CookieContainer();
  40.         cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));
  41.     }
  42.     return cookies;
  43. }

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


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

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

13   голосов , оценка 4.385 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы