Необработанное исключение типа "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;
}