private void MergeHeader(HttpWebRequest request, WebHeaderCollection headers) { var er = headers.GetEnumerator(); while (er.MoveNext()) { string key = er.Current.ToString(); string value = headers[key]; switch (key.ToLower()) { case "user-agent": request.UserAgent = value; break; case "host": request.Host = value; break; case "connection": request.Connection = value; break; case "accept": request.Accept = value; break; default: request.Headers.Add(key, value); break; } } }