obsługa przecinka wewnątrz wartości cookie za pomocą .net's (C #) System.Net.Cookie

Tworzę klienta, który odwiedza witrynę i loguje się + automatycznie wykonuje niektóre zadania, jednak ostatnio zaktualizowali swoje pliki cookie, aby (z jakiegokolwiek powodu ...) zawierać przecinek w swoim pliku identyfikacyjnym.

Na przykład ciasteczko będzie miało wartość podobną do tej:

a,bcdefghijklmnop

Problem polega na tymmsdn nie możesz używać przecinka ani kropki w wartości cookie. To, czego szukam, to sposób na obejście tego ograniczenia, jakiś sposób, aby praca Cookie w .net była przyjemna z przecinkami. Odkryłem, że serwer wysyła nagłówek „SET-COOKIE” do klienta i zgaduję, że to właśnie jest analizowane, ale wydaje się, że oczywiście nadaje to specjalne znaczenie komanom i średnikom (a więc ograniczenie klasa wewnątrz samego .NET).

Ale w jaki sposób przeglądarka, taka jak IE, Firefox, itp. ... obsługuje plik cookie prawidłowo (jak to oczywiste, ponieważ witryna działa poprawnie w każdej przeglądarce, z którą ją przetestowałem.) Czy jest jakiś sposób na wymuszenie tego? zachowanie w .NET?

Każda pomoc byłaby doceniana, dzięki.

--- EDYTOWAĆ ---

dodatkowe informacje:

Mój kod wygląda mniej więcej tak:

request = (HttpWebRequest)WebRequest.Create(URI); 
request.CookieContainer = Program.client.cookieJar;

Gdzie cookieJar jest zdefiniowany w Program.client jako:

CookieContainer cookieJar = new CookieContainer();

Po przejściu i wydrukowaniu wszystkich plików cookie w CookieContainer otrzymuję coś takiego: (pliki cookie, w formacie: „nazwa” -> „wartość”)

"normal_cookie" -> "i am the value" 
"messedup_cookie" -> "a" 
"bcdefghijklmnop" -> "" 

// What I should get is this: 
"normal_cookie" -> "i am the value" 
"messedup_cookie" -> "a,bcdefghijklmnop" 

Istotą problemu wydaje się to, że przecinki i dwukropki są znakami zarezerwowanymi w łańcuchu nagłówka SET-COOKIE ... ale w jaki sposób przeglądarki to obsługują? Prawdopodobnie mogę sam przeanalizować ciąg, ale nie wiem, jak obejść takie sytuacje: (nagłówek HTTP, w formacie: „nazwa” -> „wartość”)

"Set-Cookie" -> "messedup_cookie=a,bcdefghijklmnop; path=/; domain=.domain.com; expires=Sat, 15-Aug-2009 09:14:24 GMT,anothervariable=i am the value;"

Jak widać, sekcja wygasania szuka przecinka zamiast średnika, aby odróżnić się od następnej zmiennej. O ile wiem, jest w formacie:

cookie1_var1=value; cookie1_var2=value,cookie2_var1=value; cookir2_var2=value

Ale jeśli to prawda, czy istnieje elegancki sposób radzenia sobie z przecinkami, które mogą wystąpić wewnątrz jednej z wartości?

questionAnswers(2)

yourAnswerToTheQuestion