CookieContainer.GetCookies, System.Net C# (CSharp) Code Examples (2024)

GetCookies()public method

public GetCookies ( Uri uri ) : CookieCollection
uriUri
returnCookieCollection

CookieContainer Class Documentation

Example #1

1

Show file

File:RequestUtility.csProject:fanpan26/PzWxUtils
 /// <summary> /// 使用Get方法获取字符串结果(加入Cookie) /// </summary> /// <param name="url"></param> /// <param name="cookieContainer"></param> /// <param name="encoding"></param> /// <returns></returns> public static string HttpGet(string url, CookieContainer cookieContainer = null, Encoding encoding = null, int timeOut = App.AppRequestTimeOut) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "GET"; request.Timeout = timeOut; if (cookieContainer != null) { request.CookieContainer = cookieContainer; } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (cookieContainer != null) { response.Cookies = cookieContainer.GetCookies(response.ResponseUri); } using (Stream responseStream = response.GetResponseStream()) { using (StreamReader myStreamReader = new StreamReader(responseStream, encoding ?? Encoding.GetEncoding("utf-8"))) { string retString = myStreamReader.ReadToEnd(); return retString; } } }

Example #2

Show file

File:CookieContainerTest.csProject:er0dr1guez/corefx
 public void GetCookies_AddCookiesWithImplicitDomain_CookiesReturnedOnlyForExactDomainMatch() { const string SchemePrefix = "http://"; const string OriginalDomain = "contoso.com"; var container = new CookieContainer(); var cookie1 = new Cookie(CookieName1, CookieValue1); var cookie2 = new Cookie(CookieName2, CookieValue2) { Version = 1 }; var uri = new Uri(SchemePrefix + OriginalDomain); container.Add(uri, cookie1); container.Add(uri, cookie2); var cookies = container.GetCookies(uri); Assert.Equal(2, cookies.Count); Assert.Equal(OriginalDomain, cookies[CookieName1].Domain); Assert.Equal(OriginalDomain, cookies[CookieName2].Domain); uri = new Uri(SchemePrefix + "www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(0, cookies.Count); uri = new Uri(SchemePrefix + "x.www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(0, cookies.Count); uri = new Uri(SchemePrefix + "y.x.www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(0, cookies.Count); uri = new Uri(SchemePrefix + "z.y.x.www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(0, cookies.Count); }

Example #3

Show file

File:CookieContainerTest.csProject:er0dr1guez/corefx
 public void GetCookies_AddCookieVersion0WithExplicitDomain_CookieReturnedForDomainAndSubdomains() { const string SchemePrefix = "http://"; const string OriginalDomain = "contoso.com"; var container = new CookieContainer(); var cookie1 = new Cookie(CookieName1, CookieValue1) { Domain = OriginalDomain }; container.Add(new Uri(SchemePrefix + OriginalDomain), cookie1); var uri = new Uri(SchemePrefix + OriginalDomain); var cookies = container.GetCookies(uri); Assert.Equal(1, cookies.Count); Assert.Equal(OriginalDomain, cookies[CookieName1].Domain); uri = new Uri(SchemePrefix + "www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(1, cookies.Count); uri = new Uri(SchemePrefix + "x.www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(1, cookies.Count); uri = new Uri(SchemePrefix + "y.x.www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(1, cookies.Count); uri = new Uri(SchemePrefix + "z.y.x.www." + OriginalDomain); cookies = container.GetCookies(uri); Assert.Equal(1, cookies.Count); }

Example #4

Show file

File:NCookieManager.csProject:chen198328/ScholarProxy
 private async void RequestAsync() { NCookie ncookie = new NCookie(); ncookie.Refere = "http://scholar.google.com"; ncookie.LastestRequestTime = DateTime.Now; CookieContainer cookiecontainer = new CookieContainer(); using (HttpClientHandler httpclienthandler = new HttpClientHandler() { CookieContainer = cookiecontainer }) using (HttpClient httpclient = new HttpClient(httpclienthandler)) { httpclient.DefaultRequestHeaders.Add("Accept", "text/html, application/xhtml+xml, */*"); httpclient.DefaultRequestHeaders.Add("Accept-Language", "zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3"); httpclient.DefaultRequestHeaders.Add("User-agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); httpclient.DefaultRequestHeaders.Add("Host", "scholar.google.com"); httpclient.DefaultRequestHeaders.Add("DNT", "1"); httpclient.DefaultRequestHeaders.Add("Connection", "Keep-Alive"); string url = "http://scholar.google.com"; HttpResponseMessage response = await httpclient.GetAsync(url); Uri uri = new Uri(url); var cookies = cookiecontainer.GetCookies(uri).Cast<Cookie>(); foreach (var cookie in cookies) { ncookie.Cookies.Add(cookie.Name, cookie.Value); } } lock (obj) { NCookies.Add(ncookie); } }

Example #5

Show file

File:MailRu.csProject:leesanghyun2/mp-onlinevideos2
 public override Dictionary<string, string> GetPlaybackOptions(string url) { Dictionary<string, string> playbackOptions = new Dictionary<string, string>(); CookieContainer cc = new CookieContainer(); string data = GetWebData(url, cookies: cc, cache: false); Regex rgx = new Regex(@"""metadataUrl"":""(?<url>[^""]*)"); Match m = rgx.Match(data); if (m.Success) { JObject json = GetWebData<JObject>(m.Groups["url"].Value, cookies: cc, cache: false); JToken videos = json["videos"]; if (videos != null) { foreach(JToken video in videos) { string key = video["key"].Value<string>(); string videoUrl = video["url"].Value<string>(); MPUrlSourceFilter.HttpUrl httpUrl = new MPUrlSourceFilter.HttpUrl(videoUrl); CookieCollection cookies = cc.GetCookies(new Uri("http://my.mail.ru")); httpUrl.Cookies.Add(cookies); playbackOptions.Add(key, httpUrl.ToString()); } } } playbackOptions = playbackOptions.OrderByDescending((p) => { string resKey = p.Key.Replace("p",""); int parsedRes = 0; int.TryParse(resKey, out parsedRes); return parsedRes; }).ToDictionary(kvp => kvp.Key, kvp => kvp.Value); return playbackOptions; }

Example #6

Show file

File:AuthenticationService.csProject:pamidur/Gpodder.NET
 public async Task<bool> Login(CancellationToken cancellationToken = default(CancellationToken)) { if (IsLoogedIn) return true; var getConfigJob = ConfigurationService.GetClientConfig(); var credentialsStr = Configuration.Username + ":" + Configuration.Password; var credentials64Str = Convert.ToBase64String(Encoding.UTF8.GetBytes(credentialsStr)); var authUri = new Uri((await getConfigJob).ApiConfig.BaseUrl, _apiUri.Replace("{username}", Configuration.Username)); var authRequest = await CreateRequest(authUri); authRequest.Method = HttpMethod.Post; authRequest.Headers.Authorization = new AuthenticationHeaderValue("Basic", credentials64Str); var response = await SendRequest(authRequest); var cookies = new CookieContainer(); cookies.SetCookies(authUri, String.Join(", ",response.Headers.GetValues("Set-Cookie"))); SessionId = cookies.GetCookies(new Uri("http://gpodder.net"))["sessionid"];#if DEBUG // if (SessionId != null) //Console.WriteLine("Authenticated");#endif return true; }

Example #7

Show file

File:CookiesTests.csProject:Evolutionary-Networking-Designs/CassiniDev
 public void GetWebFormWithHttpRequestHelperWithCookies() { CookieContainer cookies = new CookieContainer(); Uri requestUri = NormalizeUri("TestWebFormCookies1.aspx"); HttpRequestHelper.Get(requestUri, null, cookies); CookieCollection mycookies = cookies.GetCookies(requestUri); Cookie cookie = mycookies["Cooookie"]; Assert.IsNotNull(cookie); Assert.AreEqual("TestWebFormCookies1", cookie.Value); requestUri = NormalizeUri("TestWebFormCookies2.aspx"); HttpRequestHelper.Get(requestUri, null, cookies); mycookies = cookies.GetCookies(requestUri); cookie = mycookies["Cooookie"]; Assert.IsNotNull(cookie); Assert.AreEqual("TestWebFormCookies2", cookie.Value); }

Example #8

Show file

File:MyWebClient.csProject:lyroge/lyroge.framework
 /// <summary> /// 请求指定的URL,返回Response对象 注意:在Asp.Net页面Post的时候要加入__VIEWSTATE、__EVENTVALIDATION数据 /// </summary> /// <param name="url">请求地址</param> /// <param name="postData">post提交时的数据内容(a=1&b=2) 注意:post内容的值要url encode编码</param> /// <param name="SetHeaderAction"> /// 设置请求头的信息 /// 如:ContentType 、ContentLength 、Method 等 /// 默认设置的头:KeepAlive=true; AllowAutoRedirect=false; request.ContentType = "application/x-www-form-urlencoded"; /// </param> /// <returns>返回带Cookie对象的Response对象</returns> public static HttpWebResponse GetResponse(string url, string postData = null, Action<HttpWebRequest> SetHeaderAction = null) { HttpWebRequest request = HttpWebRequest.Create(url) as HttpWebRequest; #region 默认的request头信息 CookieContainer cc = new CookieContainer(); request.CookieContainer = cc; request.KeepAlive = true; request.AllowAutoRedirect = false; request.ContentType = "application/x-www-form-urlencoded"; #endregion #region 自定义头部信息 if (SetHeaderAction != null) SetHeaderAction(request); #endregion #region 如果是post提交的话,写入提交的数据到流中 if (request.Method == "POST") { postData = postData ?? string.Empty; var bytes = Encoding.UTF8.GetBytes(postData); request.ContentLength = bytes.Length; var stream = request.GetRequestStream(); stream.Write(bytes, 0, bytes.Length); stream.Flush(); stream.Close(); } #endregion HttpWebResponse response = request.GetResponse() as HttpWebResponse; response.Cookies = cc.GetCookies(new Uri(url)); return response; }

Show file

File:FullServerHarness.csProject:CloneDeath/CherrySharp
 protected static Response SendRequest(string request) { string requestBase = String.Format("http://localhost:{0}/", 8080); if (request.StartsWith("/")) request = request.Substring(1); CookieContainer cookies = new CookieContainer(); var handler = new HttpClientHandler{CookieContainer = cookies}; var client = new HttpClient(handler); var fullRequest = new Uri(requestBase + request); var response = client.GetAsync(fullRequest); bool connected = response.Wait(TimeSpan.FromSeconds(2)); connected.Should().BeTrue(); response.Result.StatusCode.Should().Be(HttpStatusCode.OK); var body = response.Result.Content.ReadAsStringAsync(); body.Wait(); string bodyText = body.Result; return new Response(){ Body = bodyText, Cookies = cookies.GetCookies(fullRequest), }; }

Example #10

Show file

File:LogInManager.csProject:travo12/GameCode
 public async Task VerifyAndPass(LogInLayout LIlayout, string userName, CookieContainer cookieJar, bool saveCredentials, ContentPageController viewController) { CookieJar = cookieJar; // store credientials if it is a new login if (saveCredentials) { //Gather Cookie String var gameUri = new Uri(Constants.EndPoint); var gamecookies = CookieJar.GetCookies(gameUri); string CookieString = null; foreach (Cookie c in gamecookies) { if (c.Name == ".AspNet.ApplicationCookie") CookieString = c.Value; } //Store Cookie AuthCache.InsertObject(userName, CookieString); } //just preps the Game Manager GameManager.SetupGame(CookieJar, ViewController); if (!SeenHomeScreen) { SeenHomeScreen = true; var HLayout = new HomeLayout(ViewController, true); } else { var GSlayout = new GameSelectLayout(ViewController); } }

Example #11

Show file

 public void UpdateCookie(Guid taskid, System.Net.CookieContainer cookiecontainer) { var task = this.Get(taskid); if (task != null) { var uri = new Uri(task.FullStartUrl); CookieCollection cookies = cookiecontainer.GetCookies(uri); if (cookies != null) { bool hascookie = false; foreach (Cookie item in cookies) { hascookie = true; if (!item.Expired) { task.cookies[item.Name] = item.Value; } else { task.cookies.Remove(item.Name); } } if (hascookie) { this.AddOrUpdate(task); } } } }

Example #12

Show file

File:PreparedHttpClient.csProject:Plus3531/sitmil
 private static async Task<string> LogIn(string user, string password) { var cookies = new CookieContainer(); var handler = new HttpClientHandler { CookieContainer = cookies }; var client = new HttpClient(handler); client.DefaultRequestHeaders.Authorization = new BasicAuthenticationHeaderValue(user, password); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("X-Api-Version", "1"); var sitUri = GetSituatorWebApiUrl(); var url = sitUri + "/" + "api/Login"; //string url = GetBaseAddress() + "/" + "api/Login"; var response = await client.PostAsync(url, null); if (!response.IsSuccessStatusCode) return string.Empty; var responseCookies = cookies.GetCookies(sitUri).Cast<Cookie>(); foreach (var cookie in responseCookies) { if (cookie.Name == "session-token") { return cookie.Value; } } return string.Empty; }

Example #13

Show file

File:HttpHelper.csProject:jvbsl/LiveCodingChat
 public static List<KeyValuePair<string, string>> ConvertCookies(CookieContainer cont) { List<KeyValuePair<string,string>> cookieList = new List<KeyValuePair<string, string>> (); foreach (Cookie c in cont.GetCookies(new System.Uri("https://www.livecoding.tv"))) cookieList.Add (new KeyValuePair<string,string>(c.Name, c.Value)); return cookieList; }

Example #14

Show file

 static HttpWebRequest HttpMakeRequest(string url, string referer, System.Net.CookieContainer cookie = null) { ServicePointManager.ServerCertificateValidationCallback = OnRemoteCertificateValidationCallback; ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2 string UserAgent = GenUserAgent(); //"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //自動プロキシ検出を利用しない. //こちらの方が早くなります. request.Proxy = null; //貴方の好きなUAを使ってね。 request.UserAgent = UserAgent; request.Credentials = CredentialCache.DefaultCredentials; request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; if (referer != "") { request.Referer = referer; } if (cookie != null) { request.CookieContainer = new System.Net.CookieContainer(); request.CookieContainer.Add(cookie.GetCookies(request.RequestUri)); } return(request); }

Example #15

Show file

File:TweakersNetUtil.csProject:offbyoneBB/mp-onlinevideos2
 private CookieContainer MyGetWebData(string url, string postData, CookieContainer cc) { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; // turn on automatic decompression of both formats so we can say we accept them request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate"); // we accept compressed content request.CookieContainer = cc; request.Accept = "*/*"; request.UserAgent = OnlineVideoSettings.Instance.UserAgent; byte[] data = Encoding.UTF8.GetBytes(postData); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; request.ProtocolVersion = HttpVersion.Version10; Stream requestStream = request.GetRequestStream(); requestStream.Write(data, 0, data.Length); requestStream.Close(); request.AllowAutoRedirect = false; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { };//just to get the cookies CookieContainer result = new CookieContainer(); foreach (Cookie cookie in cc.GetCookies(new Uri("https://tmp.tweakers.net"))) { cookie.Domain = new Uri(baseUrl).Host; result.Add(cookie); } return result; }

Example #16

Show file

File:RouteController.csProject:jango2015/SendEmail
 /// <summary> /// 重启路由 /// </summary> private string reset(string url, string userName, string password, string method, string data) { CookieContainer container = new CookieContainer(); string requestUriString = url; if (method == "GET") requestUriString += "?" + data; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUriString); request.Method = method; if (method == "POST") { byte[] POSTData = new UTF8Encoding().GetBytes(data); request.ContentLength = POSTData.Length; request.GetRequestStream().Write(POSTData, 0, POSTData.Length); } request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0;CIBA)"; request.CookieContainer = container; request.KeepAlive = true; request.Accept = "*/*"; request.Timeout = 3000; request.PreAuthenticate = true; CredentialCache cache = new CredentialCache(); cache.Add(new Uri(requestUriString), "Basic", new NetworkCredential(routeInfo.UserName, routeInfo.RPassword)); request.Credentials = cache; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); response.Cookies = container.GetCookies(request.RequestUri); new StreamReader(response.GetResponseStream(), Encoding.Default).Close(); response.Close(); return string.Empty; } catch (Exception ex) { return ex.Message; } }

Example #17

Show file

File:OpenIE_API.csProject:shepherds126/12306_Helper
 public static void OpenIE(CookieContainer _cookieContainer) { foreach (Cookie cookie in _cookieContainer.GetCookies(new Uri(Properties.Resources.loginAction_login))) { InternetSetCookie("https://" + cookie.Domain.ToString(), cookie.Name.ToString(), cookie.Value.ToString() + ";expires=Sun,22-Feb-2099 00:00:00 GMT"); } System.Diagnostics.Process.Start("iexplore.exe", Properties.Resources.ostweb); }

Example #18

Show file

File:SlScreenScraper.csProject:bjornsallarp/mitt-sl-api
 public SlScreenScraper(CookieContainer cookies) : this() { if (cookies != null) { this.Cookies.Add(cookies.GetCookies(this.HttpClient.BaseAddress)); } }

Example #19

Show file

File:HttpCookie.csProject:xxy1991/cozy
 public static void PrintCookies(CookieContainer cookies, Uri uri) { CookieCollection cc = cookies.GetCookies(uri); foreach (var cook in cc) { Console.WriteLine(cook); } }

Example #20

Show file

File:SplatoonHelper.csProject:mntone/SplatoonClient
 public static string GetSessionValue(CookieContainer cookies) { var cookie = cookies.GetCookies(SplatoonConstantValues.DOMAIN_URI) .Cast<Cookie>() .Where(c => c.Name == SplatoonConstantValues.COOKIE_SESSION_NAME && c.Path == "/" && c.Secure && c.HttpOnly) .OrderByDescending(c => c.Expires.Ticks) .FirstOrDefault(); return cookie?.Value; }

Example #21

Show file

File:ibetWeb.csProject:nikersch/BuonComIbetSbobet3In1Bet
 public void SetCookieForBrowserControl(CookieContainer cc, Uri uri) { string uriString = uri.Scheme + Uri.SchemeDelimiter + uri.Host; Uri uri2 = new Uri(uriString); foreach (Cookie cookie in cc.GetCookies(uri2)) { frmIbet.InternetSetCookieEx(uriString, cookie.Name, new StringBuilder(cookie.Value), 0, IntPtr.Zero); } }

Example #22

Show file

File:AuthRpcClient.csProject:illallangi-ps/Deluge
 public bool Login(out string session, out DateTime expiry, string password = null) { var cookieContainer = new CookieContainer(); var result = bool.Parse(this.JsonRpcClient.InvokeMethod<string>(@"auth.login", cookieContainer, password ?? DelugeProfile.GetActiveProfile().Password)); var cookie = cookieContainer.GetCookies(this.JsonRpcClient.Uri)[@"_session_id"]; session = cookie?.Value; expiry = cookie?.Expires ?? DateTime.MinValue; return result; }

Example #23

Show file

File:HttpExtensions.csProject:huoshan12345/iQQ.Net
 //public static IEnumerable<Cookie> GetAllCookies(this CookieContainer cc) //{ // var table = (Hashtable)cc.GetType().InvokeMember("m_domainTable", // BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance, // null, cc, new object[] { }); // foreach (var pathList in table.Values) // { // var lstCookieCol = (SortedList)pathList.GetType().InvokeMember("m_list", // BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance, // null, pathList, new object[] { }); // foreach (CookieCollection colCookies in lstCookieCol.Values) // { // foreach (var c in colCookies.OfType<Cookie>()) // { // yield return c; // } // } // } //} //public static IEnumerable<Cookie> GetCookies(this CookieContainer cc, string name) //{ // return GetAllCookies(cc).Where(item => string.Compare(item.Name, name, StringComparison.OrdinalIgnoreCase) == 0); //} public static string GetRequestHeader(this QQHttpRequest request, CookieContainer cc) { var sb = new StringBuilder(); sb.AppendLineIf($"{HttpConstants.Referrer}: {request.Referrer}", !request.Referrer.IsNullOrEmpty()); sb.AppendLineIf($"{HttpConstants.UserAgent}: {request.UserAgent}", !request.UserAgent.IsNullOrEmpty()); sb.AppendLineIf($"{HttpConstants.ContentType}: {request.ContentType}", !request.ContentType.IsNullOrEmpty()); var cookies = cc.GetCookies(new Uri(request.Url)).OfType<Cookie>(); sb.AppendLine($"{HttpConstants.Cookie}: {string.Join("; ", cookies)}"); return sb.ToString(); }

Example #24

Show file

File:CookieUtil.csProject:jxdong1013/archivems
 /// <summary> /// 通过指定的url地址获得cookie /// </summary> /// <param name="cookieContainer"></param> /// <param name="url"></param> /// <returns></returns> public static Cookie GetCookie(CookieContainer cookieContainer , string url) { Uri uri = new Uri(url); CookieCollection cookieColl = cookieContainer.GetCookies( uri ); if (cookieColl != null && cookieColl.Count > 0 ) { return cookieColl[0]; } return null; }

Example #25

Show file

File:CookieHelper.csProject:lamp525/DotNet
 public static string PrintCookies(CookieContainer cookies, Uri uri) { CookieCollection cc = cookies.GetCookies(uri); StringBuilder sb = new StringBuilder(); foreach (Cookie cook in cc) { sb.AppendLine(string.Format("{0}:{1}", cook.Name, cook.Value)); } return sb.ToString(); }

Example #26

Show file

File:CookieInternalTest.csProject:ChuangYang/corefx
 public void DomainImplicit_AddCookieWithExplicitDomain_DomainImplicitFalse() { var container = new CookieContainer(); var cookie1 = new Cookie(CookieName, CookieValue) { Domain = OriginalDomain }; var uri = new Uri(SchemePrefix + OriginalDomain); container.Add(uri, cookie1); var cookies = container.GetCookies(uri); Assert.Equal(1, cookies.Count); Assert.False(cookies[CookieName].DomainImplicit); }

Example #27

Show file

File:Login.xaml.csProject:lennartfranke/Sitecore-Instance-Manager
 private static string GetSessionCookie(string url) { var request = FormHelper.CreateRequest(new Uri(url)); var cookies = new CookieContainer(); request.CookieContainer = cookies; using (request.GetResponse()) { return cookies.GetCookies(new Uri("http://dev.sitecore.net"))["ASP.NET_SessionId"].ToString(); } }

Example #28

Show file

File:LocalStorageManager.csProject:jarkkom/AwfulMetro
 public async Task SaveCookie(string filename, CookieContainer rcookie, Uri uri) { StorageFolder localFolder = ApplicationData.Current.LocalFolder; StorageFile sampleFile = await localFolder.CreateFileAsync(filename, CreationCollisionOption.ReplaceExisting); using (StorageStreamTransaction transaction = await sampleFile.OpenTransactedWriteAsync()) { CookieSerializer.Serialize(rcookie.GetCookies(uri), uri, transaction.Stream.AsStream()); await transaction.CommitAsync(); } }

Example #29

Show file

File:BonitaApi.csProject:GilbertoBotaro/BonitaRestApi.Net
 public async void Test() { const string url = "http://enlt027.clinicient.local:8081/bonita/"; var cookies = new CookieContainer(); var handler = new HttpClientHandler(); handler.CookieContainer = cookies; using (var client = new HttpClient(handler)) { var uri = new Uri(url); client.BaseAddress = uri; //client.DefaultRequestHeaders.Accept.Clear(); //client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("username", ""), new KeyValuePair<string, string>("password", ""), new KeyValuePair<string, string>("redirect", "true"), new KeyValuePair<string, string>("redirectUrl", ""), }); HttpResponseMessage response = await client.PostAsync("loginservice", content); if (response.IsSuccessStatusCode) { var responseCookies = cookies.GetCookies(uri); var sessionID = responseCookies["JSESSIONID"]; // Once we have a successful session ID, we should attempt to logout to relieve the server try { Trace.WriteLine(string.Format("Retrieved session ID {0}", sessionID)); // Do useful work //client.PostAsync("humanTask", new HttpContent() { new { }}); } finally { var result = client.GetAsync("logoutservice").Result; if (result.IsSuccessStatusCode) { Trace.WriteLine("Successfully Logged out."); } } } } }

Example #30

Show file

File:Utils.csProject:LoveMetal-StrangeGames/chatter-bot-api
public async static Task<CookieCollection> GetCookies(string url) {CookieContainer container = new CookieContainer();var request = (HttpWebRequest)WebRequest.Create(url);request.Method = "GET";request.Headers["UserAgent"] = "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0;";request.ContentType = "text/html";request.CookieContainer = container;await request.GetResponseAsync();return container.GetCookies(request.RequestUri);}

Example #31

Show file

 public static CookieCollection GetCookies(this System.Net.CookieContainer container) { var cookieCollection = new CookieCollection(); var hashTable = container .GetType() .InvokeMember("m_domainTable", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance, null, container, Array.Empty <object>()) as Hashtable; if (hashTable == null) { return(null); } foreach (var key in hashTable.Keys) { var tableName = key .ToString(); if (!hashTable.ContainsKey(tableName !)) { continue; } var values = (SortedList)hashTable[tableName] ! .GetType() .InvokeMember("m_list", BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance, null, hashTable[tableName], Array.Empty <object>()); if (values == null) { return(null); } foreach (var listKey in values.Keys) { var url = $"https://{tableName.TrimStart('.')}{listKey}"; cookieCollection.Add(container.GetCookies(new Uri(url))); } } return(cookieCollection); }

Example #32

Show file

File:WebSiteDispatcher.csProject:project-first/latinoworkflows
 private void GetDjangoCookie() { mCookies = new CookieContainer(); WebUtils.GetWebPage("http://first-vm4.ijs.si/feed-form/", /*refUrl=*/null, ref mCookies); foreach (Cookie cookie in mCookies.GetCookies(new Uri("http://first-vm4.ijs.si/feed-form/"))) { if (cookie.Name == "csrftoken") { mCsrftoken = cookie.Value; break; } } }

Example #33

Show file

File:CookieReader.csProject:dream-365/toolkit
 public static CookieCollection ExtractAuthCookiesFromUrl(string url) { Uri uriBase = new Uri(url); Uri uri = new Uri(uriBase, "/"); // call WinInet.dll to get cookie. string stringCookie = CookieReader.GetCookie(uri.ToString()); if (string.IsNullOrEmpty(stringCookie)) return null; stringCookie = stringCookie.Replace("; ", ",").Replace(";", ","); // use CookieContainer to parse the string cookie to CookieCollection CookieContainer cookieContainer = new CookieContainer(); cookieContainer.SetCookies(uri, stringCookie); return cookieContainer.GetCookies(uri); }

Example #34

Show file

 void webBrowser_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e) { // ugly ... if (e.Uri.AbsoluteUri.Contains("authuser=0") || e.Uri.AbsoluteUri.Contains("as=")) { webBrowser.Visibility = System.Windows.Visibility.Hidden; System.Net.CookieContainer container = NativeMethods.GetUriCookieContainer(webBrowser.Source); Cookie oauth_code = container.GetCookies(webBrowser.Source).Cast <Cookie>().FirstOrDefault(c => c.Name == "oauth_code"); WTalk.AuthenticationManager.Current.AuthenticateWithCode(oauth_code.Value); this.Close(); return; } }

Example #35

Show file

 private static void DecorateCSRFRequest(HttpRequestMessage req, string problemName, string reqUri) { var problemUri = problemEndpoint.Replace("{PROBLEM-NAME}", problemName); IEnumerable <Cookie> responseCookies = container.GetCookies(new Uri(baseUrl)).Cast <Cookie>(); req.Headers.Referrer = new Uri(baseUrl + problemUri); req.Headers.TryAddWithoutValidation(Uri.EscapeDataString(":authority"), "leetcode.com"); req.Headers.TryAddWithoutValidation(Uri.EscapeDataString(":method"), "POST"); req.Headers.TryAddWithoutValidation(Uri.EscapeDataString(":path"), reqUri); req.Headers.TryAddWithoutValidation(Uri.EscapeDataString(":scheme"), "https"); req.Headers.TryAddWithoutValidation("origin", "https://leetcode.com"); req.Headers.TryAddWithoutValidation("x-requested-with", "XMLHttpRequest"); req.Headers.TryAddWithoutValidation("x-csrftoken", responseCookies .Where(c => c.Name == "csrftoken") .FirstOrDefault() .Value); }

Example #36

Show file

File:LaunchAPI.csProject:pawel-m543/xapi-launch
 public LaunchData Launch(string launchUrl, string launchToken) { this.launchToken = launchToken; this.launchUrl = launchUrl; client = new HttpClient(); HttpResponseMessage responseMessage = null; var _launchData = new LaunchData(); try { responseMessage = client.PostAsync(launchUrl + "launch/" + launchToken, null).Result; } catch (Exception e) { _launchData.response = e.Message; } if (responseMessage != null) { string responseText = responseMessage.Content.ReadAsStringAsync().Result; var status = responseMessage.StatusCode; string cookies = responseMessage.Headers.GetValues("set-cookie").ElementAt(0); var cookieParser = new System.Net.CookieContainer(); cookieParser.SetCookies(new Uri(launchUrl), cookies); CookieCollection parsedCookies = cookieParser.GetCookies(new Uri(launchUrl)); this.cookie = parsedCookies["connect.sid"]; try { LaunchData jsonResponse = JsonConvert.DeserializeObject <LaunchData>(responseText); _launchData = jsonResponse; } catch (Exception e) { _launchData.response = responseText; } this.launchData = _launchData; return(_launchData); } else { this.launchData = _launchData; return(_launchData); } }

Example #37

Show file

 public override System.Net.WebResponse DoAction(string host, System.Net.CookieContainer cookie) { string sessstr = ""; foreach (Cookie cook in cookie.GetCookies(new Uri(host + "/"))) { if (cook.Name == "JSESSIONID") { sessstr = cook.Value; } } HttpWebRequest req = (HttpWebRequest)WebRequest.Create(host + WebPath); req.ServicePoint.Expect100Continue = false; req.Timeout = 5 * 1000; req.Method = HttpMethod; req.ContentType = "text/plain"; req.Accept = "*/*"; req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)"; req.KeepAlive = true; req.ContentLength = ContentLength; StreamWriter sw = new StreamWriter(req.GetRequestStream()); sw.Write("callCount=1\x0A"); sw.Write("page=/menu/s_main.jsp\x0A"); sw.Write("httpSessionId=" + sessstr + "\x0A"); sw.Write("scriptSessionId=BE349D683FA75D2994DDC7EFD3F1070C639\x0A"); sw.Write("c0-scriptName=ajaxtool\x0A"); sw.Write("c0-methodName=getMessage\x0A"); sw.Write("c0-id=0\x0A"); sw.Write("c0-param0=string:201192255\x0A"); sw.Write("c0-param1=string:01\x0A"); sw.Write("batchId=0\x0A"); sw.Close(); req.CookieContainer = cookie; //req.Headers.Add("Cookie",""); //使用已经保存的cookies 方法二 return(req.GetResponse()); }

Example #38

Show file

File:WebClientEx.csProject:k3ldar/SharedLib
 /// <summary> /// Cookies /// </summary> /// <param name="uri">Uri for cookies</param> /// <returns>CookiesCollection</returns> public System.Net.CookieCollection Cookies(Uri uri) { return(_cookieContainer.GetCookies(uri)); }
CookieContainer.GetCookies, System.Net C# (CSharp) Code Examples (2024)

References

Top Articles
Latest Posts
Article information

Author: Tuan Roob DDS

Last Updated:

Views: 6649

Rating: 4.1 / 5 (62 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Tuan Roob DDS

Birthday: 1999-11-20

Address: Suite 592 642 Pfannerstill Island, South Keila, LA 74970-3076

Phone: +9617721773649

Job: Marketing Producer

Hobby: Skydiving, Flag Football, Knitting, Running, Lego building, Hunting, Juggling

Introduction: My name is Tuan Roob DDS, I am a friendly, good, energetic, faithful, fantastic, gentle, enchanting person who loves writing and wants to share my knowledge and understanding with you.