Необработанное исключение типа "System.Net.CookieException" - C#
Формулировка задачи:
Есть код. Хочу достать cookies с webbrowser1. Пишет ошибку:
Необработанное исключение типа "System.Net.CookieException" в System.dll
Дополнительные сведения: Недопустимая часть "Value"="7200,0" файла cookie.
Что я делаю не так???
, но оно не пашет. Хотя куки передает с функции. Я что то зецепил когда исправил 7200,0 на 7200.0???
public CookieContainer GetCookieContainer() { CookieContainer container = new CookieContainer(); foreach (string cookie in webBrowser1.Document.Cookie.Split(';')) { string name = cookie.Split('=')[0]; string value = cookie.Substring(name.Length + 1); string path = "/"; string domain = ".steamcommunity.com"; //change to your domain name container.Add(new System.Net.Cookie(name.Trim(), value.Trim(), path, domain)); } return container; }
_ga=GA1.2.1317698739.1478508335; timezoneOffset=7200,0; sessionid=15c54f90d07c675352504989; steamCountry=UA%7Cd0fdd0d7b615e7c0200338daca9e4cc4
Сами куки
Дописал
value = Regex.Replace(value, ",", ".");
Решение задачи: «Необработанное исключение типа "System.Net.CookieException"»
textual
Листинг программы
[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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д