GetCookies() public method

public GetCookies ( Uri uri ) : CookieCollection
uri Uri
return CookieCollection
Esempio n. 1
1
        /// <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;
                }
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
        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;
        }
        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;
        }
 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);
 }
Esempio n. 8
0
        /// <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;
        }
        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),
            };
        }
Esempio n. 10
0
        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);
            }
        }
Esempio n. 11
0
        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);
                    }
                }
            }
        }
Esempio n. 12
0
        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;
        }
Esempio n. 13
0
 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;
 }
Esempio n. 14
0
        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);
        }
        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;
        }
Esempio n. 16
0
 /// <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;
     }
 }
Esempio n. 17
0
 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);
 }
Esempio n. 18
0
 public SlScreenScraper(CookieContainer cookies)
     : this()
 {
     if (cookies != null)
     {
         this.Cookies.Add(cookies.GetCookies(this.HttpClient.BaseAddress));
     }
 }
Esempio n. 19
0
 public static void PrintCookies(CookieContainer cookies, Uri uri)
 {
     CookieCollection cc = cookies.GetCookies(uri);
     foreach (var cook in cc)
     {
         Console.WriteLine(cook);
     }
 }
Esempio n. 20
0
 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;
 }
Esempio n. 21
0
 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);
     }
 }
Esempio n. 22
0
 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;
 }
Esempio n. 23
0
 //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();
 }
Esempio n. 24
0
 /// <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;
 }
Esempio n. 25
0
 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();
 }
Esempio n. 26
0
        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);
        }
    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();
      }
    }
Esempio n. 28
0
        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();
            }
        }
        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.");
                        }
                    }

                }
            }
        }
		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);
		}
Esempio n. 31
0
        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);
        }
 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;
         }
     }
 }
Esempio n. 33
0
 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);
 }
Esempio n. 34
0
 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;
     }
 }
Esempio n. 35
0
        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);
        }
Esempio n. 36
0
        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);
            }
        }
Esempio n. 37
0
        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());
        }
Esempio n. 38
0
 /// <summary>
 /// Cookies
 /// </summary>
 /// <param name="uri">Uri for cookies</param>
 /// <returns>CookiesCollection</returns>
 public System.Net.CookieCollection Cookies(Uri uri)
 {
     return(_cookieContainer.GetCookies(uri));
 }