void AddCookiesToRequest(HttpRequest request) { Dictionary <string, string> cookies = new Dictionary <string, string>(); if (request.Headers.Contains(HeaderField.Cookie)) { string cookieString = request.Headers[HeaderField.Cookie]; string[] presets = cookieString.Split(new string[] { "=", "; " }, StringSplitOptions.None); for (int i = 0; presets.Length > i; i += 2) { cookies.Add(presets[i], presets[i + 1]); } } foreach (Cookie cookie in cookieJar.FindMatch(request.Uri)) { if (!cookies.ContainsKey(cookie.name)) { cookies.Add(cookie.name, cookie.value); } } if (cookies.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (KeyValuePair <string, string> kv in cookies) { sb.Append(kv.Key); sb.Append("="); sb.Append(kv.Value); sb.Append("; "); } sb.Remove(sb.Length - 2, 2); request.Headers.AddOrReplace(HeaderField.Cookie, sb.ToString()); } }