Add() public méthode

public Add ( Cookie cookie ) : void
cookie Cookie
Résultat void
        private async Task<bool> SendLoginData(string username, string password)
        {
            CookieContainer cookies = await _webManager.PostData(
                Constants.LOGIN_URL, string.Format(
                    "action=login&username={0}&password={1}",
                    username.Replace(" ", "+"),
                    WebUtility.UrlEncode(password)));

            if (cookies.Count < 2)
            {
                return false;
            }

            var fixedCookieContainer = new CookieContainer();

            // TODO: HUGE HACK. For some reason Windows Phone does not use the Domain Key on a cookie, but only the domain when making requests.
            // Windows 8 won't break on it, but Windows Phone will, since the Domain Key and Domain are different on SA.
            // We need to move this code to a more common place.

            foreach (Cookie cookie in cookies.GetCookies(new Uri(Constants.COOKIE_DOMAIN_URL)))
            {
                var fixedCookie = new Cookie(cookie.Name, cookie.Value, "/", ".somethingawful.com");
                fixedCookieContainer.Add(new Uri(Constants.COOKIE_DOMAIN_URL), fixedCookie);
            }

            await _localStorageManager.SaveCookie(Constants.COOKIE_FILE, cookies, new Uri(Constants.COOKIE_DOMAIN_URL));
            return true;
        }
Exemple #2
1
 public PrimeDice()
 {
     _CC = new CookieContainer();
     _CC.Add(new Cookie("user", "43579", "/", "primedice.com"));
     _CC.Add(new Cookie("password", "ea1a3c", "/", "primedice.com"));
     _CC.Add(new Cookie("betting", "1", "/", "primedice.com"));
 }
        /// <summary>
        /// convert cookies string to CookieContainer
        /// </summary>
        /// <param name="cookies"></param>
        /// <returns></returns>
        public static CookieContainer ConvertToCookieContainer(Dictionary<string, string> cookies)
        {
            CookieContainer cookieContainer = new CookieContainer();

            foreach (var cookie in cookies)
            {
                string[] strEachCookParts = cookie.Value.Split(';');
                int intEachCookPartsCount = strEachCookParts.Length;

                foreach (string strCNameAndCValue in strEachCookParts)
                {
                    if (!string.IsNullOrEmpty(strCNameAndCValue))
                    {
                        Cookie cookTemp = new Cookie();
                        int firstEqual = strCNameAndCValue.IndexOf("=");
                        string firstName = strCNameAndCValue.Substring(0, firstEqual);
                        string allValue = strCNameAndCValue.Substring(firstEqual + 1, strCNameAndCValue.Length - (firstEqual + 1));
                        cookTemp.Name = firstName;
                        cookTemp.Value = allValue;
                        cookTemp.Path = "/";
                        cookTemp.Domain = cookie.Key;
                        cookieContainer.Add(cookTemp);
                    }
                }
            }
            return cookieContainer;
        }
        public override string GetVideoUrl(VideoInfo video)
        {
            CookieContainer newCc = new CookieContainer();
            foreach (Cookie c in cc.GetCookies(new Uri(@"https://www.filmon.com/")))
            {
                newCc.Add(c);
            }

            NameValueCollection headers = new NameValueCollection();
            headers.Add("Accept", "*/*");
            headers.Add("User-Agent", userAgent);
            headers.Add("X-Requested-With", "XMLHttpRequest");
            string webdata = GetWebData(video.VideoUrl, (string)video.Other, newCc, headers: headers);

            JToken jt = JObject.Parse(webdata) as JToken;
            JArray streams = jt.Value<JArray>("streams");
            video.PlaybackOptions = new Dictionary<string, string>();
            foreach (JToken stream in streams)
            {
                string serverUrl = stream.Value<string>("url");

                RtmpUrl res = new RtmpUrl(serverUrl);
                res.Live = true;
                res.PlayPath = stream.Value<string>("name");

                int p = serverUrl.IndexOf("live/?id");
                res.App = serverUrl.Substring(p);
                video.PlaybackOptions.Add(stream.Value<string>("quality"), res.ToString());
            }

            return video.PlaybackOptions.First().Value;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (cookieForm.ShowDialog() == DialogResult.OK)
            {
                var site = new Uri(SteamSite._mainsite);
                var hugeCock = new CookieContainer();
                hugeCock.Add(site, new Cookie(CookieFrm.sesid, cookieForm.textBox1.Text));
                hugeCock.Add(site, new Cookie(CookieFrm.webtrade, cookieForm.textBox2.Text));

                var stlogin = cookieForm.textBox3.Text;
                if (stlogin.Length > 17)
                {
                    hugeCock.Add(site, new Cookie(CookieFrm.stlog, stlogin));
                    hugeCock.Add(site, new Cookie(CookieFrm.machauth + stlogin.Substring(0, 17), cookieForm.textBox4.Text));
                    hugeCock.Add(site, new Cookie(CookieFrm.sec, cookieForm.textBox5.Text));

                    Main.steam_srch.cookieCont = hugeCock;
                    Main.scanItems.UpdateCock(hugeCock);
                    Main.SaveBinary(Main.cockPath, Main.steam_srch.cookieCont);
                }
                else
                {
                    MessageBox.Show(CookieFrm.stlog + " parameter is not correct!", "Import Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

        }
Exemple #6
0
        private static async Task ProcessRepositories1(LoginUser user)
        {
            HttpClientHandler clientHandler = new HttpClientHandler();

            clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); };

            var cookieContainer = new System.Net.CookieContainer();

            clientHandler.CookieContainer = cookieContainer;

            using (var httpClient = new HttpClient(clientHandler))
            {
                var options = new JsonSerializerOptions
                {
                };

                cookieContainer.Add(new Uri("https://35.156.189.63:50000/"), new Cookie("CompanyDB", "SBODEMOUS"));
                cookieContainer.Add(new Uri("https://35.156.189.63:50000/"), new Cookie("B1SESSION", "da007e8e-37f8-11eb-8000-025c0989ab50"));
                //StringContent content = new StringContent(JsonSerializer.Serialize(user, options), Encoding.UTF8, "application/json");

                var response = await httpClient.GetAsync("https://35.156.189.63:50000/b1s/v1/BusinessPartners");

                string apiResponse = await response.Content.ReadAsStringAsync();
            }
        }
        /// <summary>
        /// クッキーコンテナにクッキーを追加する
        /// domainが.hal.fscs.jpなどだと http://hal.fscs.jp でクッキーが有効にならないので.ありとなし両方指定する
        /// </summary>
        /// <param name="container"></param>
        /// <param name="cookie"></param>
        public static void AddCookieToContainer(System.Net.CookieContainer container, System.Net.Cookie cookie)
        {
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }

            if (cookie == null)
            {
                throw new ArgumentNullException("cookie");
            }

            container.Add(cookie);
            if (cookie.Domain.StartsWith("."))
            {
                container.Add(new System.Net.Cookie()
                {
                    Comment    = cookie.Comment,
                    CommentUri = cookie.CommentUri,
                    Discard    = cookie.Discard,
                    Domain     = cookie.Domain.Substring(1),
                    Expired    = cookie.Expired,
                    Expires    = cookie.Expires,
                    HttpOnly   = cookie.HttpOnly,
                    Name       = cookie.Name,
                    Path       = cookie.Path,
                    Port       = cookie.Port,
                    Secure     = cookie.Secure,
                    Value      = cookie.Value,
                    Version    = cookie.Version,
                });
            }
        }
        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);
        }
 public static CookieContainer GenerateCookies()
 {
   var cookies = new CookieContainer();
   var target = new Uri("http://steamcommunity.com");
   cookies.Add(new Cookie("sessionid", Settings.Default.sessionid) { Domain = target.Host });
   cookies.Add(new Cookie("steamLogin", Settings.Default.steamLogin) { Domain = target.Host });
   cookies.Add(new Cookie("steamparental", Settings.Default.steamparental) { Domain = target.Host });
   return cookies;
 }
 private CookieContainer GenerateCookies()
 {
     var cookies = new CookieContainer();
     var target = new Uri("http://steamcommunity.com");
     cookies.Add(new Cookie("sessionid", Settings.Default.sessionid) { Domain = target.Host });
     cookies.Add(new Cookie("steamLogin", Settings.Default.steamLogin) { Domain = target.Host });
     cookies.Add(new Cookie("steamparental", Settings.Default.steamparental) { Domain = target.Host });
     cookies.Add(new Cookie("steamRememberLogin", Settings.Default.steamRememberLogin) { Domain = target.Host });
     cookies.Add(new Cookie(GetSteamMachineAuthCookieName(), Settings.Default.steamMachineAuth) { Domain = target.Host });
     return cookies;
 }
Exemple #11
0
        /// <summary>
        /// Create a client to make requests requiring authentication
        /// </summary>
        /// <returns></returns>
        protected RestClient CreateAuthClient()
        {
            RestClient client = CreateClient();

            CookieContainer container = new CookieContainer();
            container.Add(new Uri(AppSettings.ApiUri), new Cookie("ss-id", AppSettings.SsId));
            container.Add(new Uri(AppSettings.ApiUri), new Cookie("ss-pid", AppSettings.SsPid));
            client.CookieContainer = container;

            return client;
        }
Exemple #12
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (cookieForm.ShowDialog() == DialogResult.OK)
            {
                var site = new Uri(SteamSite._mainsite);
                var hugeCock = new CookieContainer();
                hugeCock.Add(site, new Cookie(CookieFrm.sesid, cookieForm.textBox1.Text));
                hugeCock.Add(site, new Cookie(CookieFrm.webtrade, cookieForm.textBox2.Text));
                hugeCock.Add(site, new Cookie(CookieFrm.stlog, cookieForm.textBox3.Text));

                Main.steam_srch.cookieCont = hugeCock;
                Main.SaveBinary(Main.cockPath, Main.steam_srch.cookieCont);
            }
        }
Exemple #13
0
        private CookieContainer CreateCount11Container()
        {
            CookieContainer cc1 = new CookieContainer();
            // Add(Cookie)
            cc1.Add(c1);
            cc1.Add(c2);
            cc1.Add(c3);
            cc1.Add(c4);

            // Add(CookieCollection)
            CookieCollection cc2 = new CookieCollection();
            cc2.Add(c5);
            cc2.Add(c6);
            cc2.Add(c7);
            cc1.Add(cc2);

            // Add(Uri, Cookie)
            cc1.Add(u4, c8);
            cc1.Add(u4, c9);

            // Add(Uri, CookieCollection)
            cc2 = new CookieCollection();
            cc2.Add(c10);
            cc2.Add(c11);
            cc1.Add(u5, cc2);

            return cc1;
        }
Exemple #14
0
 private Bitmap GetCapthcaFromPage(string url)
 {
     HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
     CookieContainer cookieJar = new CookieContainer();
     cookieJar.Add(new Uri("http://forum.ipadiz.ru/"), new Cookie("phpbb3_jornv_k", ""));
     cookieJar.Add(new Uri("http://forum.ipadiz.ru/"), new Cookie("phpbb3_jornv_u", "1"));
     cookieJar.Add(new Uri("http://forum.ipadiz.ru/"), new Cookie("style_cookie", "null"));
     cookieJar.Add(new Uri("http://forum.ipadiz.ru/"), new Cookie("phpbb3_jornv_sid", _sid));
     request.CookieContainer = cookieJar;
     HttpWebResponse response = (HttpWebResponse) request.GetResponse();
     Stream st = response.GetResponseStream();
     Bitmap bitmap = new Bitmap(st);
     return bitmap;
 }
Exemple #15
0
        public void StartSession()
        {
            //Run selenium
            ChromeDriver cd = new ChromeDriver(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "lib"));
            cd.Url = @"https://login.yahoo.com/config/login?.src=fpctx&.intl=uk&.lang=en-GB&.done=https://uk.yahoo.com/%3fp=us";
            cd.Navigate();
            IWebElement e = cd.FindElementById("login-username");
            e.SendKeys("");
            e = cd.FindElementById("login-passwd");
            e.SendKeys("");
            e = cd.FindElementById("login-signin");
            e.Click();

            CookieContainer cc = new CookieContainer();
            //Get the cookies
            foreach (Cookie c in cd.Manage().Cookies.AllCookies)
            {
                string name = c.Name;
                string value = c.Value;
                cc.Add(new System.Net.Cookie(name, value, c.Path, c.Domain));
            }
            //cd.Quit();

            //Fire off the request
            HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create("https://uk.finance.yahoo.com/portfolio/pf_15/view/dv");
            hwr.CookieContainer = cc;
            hwr.Method = "POST";
            hwr.ContentType = "application/x-www-form-urlencoded";
            StreamWriter swr = new StreamWriter(hwr.GetRequestStream());
            swr.Write("feeds=35");
            swr.Close();

            WebResponse wr = hwr.GetResponse();
            string s = new StreamReader(wr.GetResponseStream()).ReadToEnd();
        }
Exemple #16
0
 public static CookieContainer LoadCookies(string file)
 {
     CookieContainer cookies = new CookieContainer();
     foreach (Cookie cookie in zmongo.BsonRead<Cookie>(file))
         cookies.Add(cookie);
     return cookies;
 }
        public bool SetPrcCookie(string key, string val)
        {

            try
            {


                var baseAddress = new Uri("http://example.com");
                var cookieContainer = new CookieContainer();
                using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
                using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
                {
                    var content = new FormUrlEncodedContent(new[]
                {
                    new KeyValuePair<string, string>(key, val),                 
                });
                    cookieContainer.Add(baseAddress, new Cookie("CookieName", "cookie_value"));
                    var result = client.PostAsync("/", content).Result;
                    result.EnsureSuccessStatusCode();

                    return true;

                }
            }
            catch (Exception ex)
            {
                
                throw ex;
            }

        }
        public static void AddCommonHeadersToHttpRequest(
            HttpWebRequest request, CookieCollection cookies, RequestHeaders headers, Uri baseUri,
            string referer, string method, bool followRedirect = true)
        {
            // add cookies to request
            var cookieContainer = new CookieContainer();
            if (cookies != null) cookieContainer.Add(cookies);
            request.CookieContainer = cookieContainer;

            request.Method = method;
            request.AllowAutoRedirect = followRedirect;
            request.KeepAlive = true;
            request.ContentType = headers.ContentType;
            request.PreAuthenticate = headers.PreAuthenticate;
            request.Host = headers.Host;
            request.UserAgent = headers.UserAgent;
            request.Accept = headers.Accept;
            request.Headers.Add("Accept-Language", headers.AcceptLanguage);
            request.Headers.Add("Accept-Encoding", headers.AcceptEncoding);
            request.Headers.Add("Accept-Charset", headers.AcceptCharset);

            Uri uriResult;
            if (Uri.TryCreate(baseUri, referer, out uriResult))
                request.Referer = uriResult.AbsoluteUri;
        }
Exemple #19
0
        public static CookieContainer Get_Login()
        {
            CookieContainer cc = new CookieContainer();
            string FormURL = "https://confluence.englishtown.com/dologin.action";
            //处理表单的绝对URL地址
            string FormData = "os_username=jason.cheng&os_password=efef@123";
            //表单需要提交的参数,注意改为你已注册的信息。
            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] data = encoding.GetBytes(FormData);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(FormURL);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
            //模拟一个UserAgent
            Stream newStream = request.GetRequestStream();
            newStream.Write(data, 0, data.Length);

            newStream.Close();

            request.CookieContainer = cc;

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            cc.Add(response.Cookies);
            Stream stream = response.GetResponseStream();
            string WebContent = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
            return cc;
        }
Exemple #20
0
 public string Httppost(string url, string postData)
 {
     Encoding encoding = Encoding.GetEncoding("utf-8");
     byte[] bytesToPost = encoding.GetBytes(postData);
     CookieContainer cookieCon = new CookieContainer();
     if (cookie.Count > 0)
     {
         cookieCon.Add(new Uri(url), cookie);
     }
     HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
     httpRequest.CookieContainer = cookieCon;
     httpRequest.ContentType = "application/x-www-form-urlencoded";
     httpRequest.Method = "POST";
     httpRequest.ContentLength = bytesToPost.Length;
     Stream requestStream = httpRequest.GetRequestStream();
     requestStream.Write(bytesToPost, 0, bytesToPost.Length);
     requestStream.Close();
     Stream responseStream = httpRequest.GetResponse().GetResponseStream();
     string stringResponse = string.Empty;
     StreamReader responseReader = new StreamReader(responseStream, Encoding.UTF8);
     stringResponse = responseReader.ReadToEnd();
     responseReader.Close();
     cookie = httpRequest.CookieContainer.GetCookies(new Uri(url));
     return stringResponse;
 }
        public async Task Providing_Valid_Credentials_Returns_True()
        {
            var cookieContainer = new CookieContainer();
            cookieContainer.Add(new Uri("http://foo.com"), new Cookie("Foo", "bar"));
            cookieContainer.Add(new Uri("http://foo.com"), new Cookie("Bar", "Foo"));
            var webManager = new FakeWebManager
            {
                CookiesToReturn = cookieContainer,
            };

            var localStorage = new FakeLocalStorageManager();
            var am = new AuthenticationManager(webManager, localStorage);
            const bool expected = true;
            bool actual = await am.Authenticate("foo", "bar");
            Assert.AreEqual(expected, actual);
        }
Exemple #22
0
        protected void SetClientCookies(Uri uri)
        {
            if (_cookies.Count > 0)
            {
                CookieContainer cookieContainer = new System.Net.CookieContainer();
                foreach (Cookie cookie in _cookies)
                {
                    cookieContainer.Add(uri, cookie);
                }

                HttpClientHandler httpClientHandler = new HttpClientHandler()
                {
                    CookieContainer = cookieContainer,
                    UseCookies      = true,
                };

                _client = new HttpClient(httpClientHandler);
            }
            else
            {
                _client = new HttpClient();
            }

            _client.DefaultRequestHeaders.ExpectContinue = false;   //Remove "Expect: 100 continue":
        }
Exemple #23
0
        public CookieContainer GetCookieContainer(string dom)
        {
            CookieContainer container = new CookieContainer();
            try
            {
                foreach (string cookie in webBrowser1.Document.Cookie.Split(';'))
                {
                    string name = cookie.Split('=')[0];
                    string value = cookie.Substring(name.Length + 1);
                    string path = "/";
                    string domain = dom; //change to your domain name
                    container.Add(new Cookie(name.Trim(), value.Trim(), path, domain));

                    //Console.Out.WriteLine("{0}=>{1}", name.Trim(),value.Trim());
                    if (name.Trim() == "apiKey")
                    {
                        ApiKey = value.Trim();
                        Close();
                    }
                }
            }
            catch (Exception)
            {
                // ignored
            }

            return container;
        }
        /// <summary>
        /// Performs active authentication against ADFS using the trust/13/usernamemixed ADFS endpoint.
        /// </summary>
        /// <param name="siteUrl">Url of the SharePoint site that's secured via ADFS</param>
        /// <param name="serialNumber">Serial Number of the Current User > My Certificate to use to authenticate </param>
        /// <param name="certificateMixed">Uri to the ADFS certificatemixed endpoint</param>
        /// <param name="relyingPartyIdentifier">Identifier of the ADFS relying party that we're hitting</param>
        /// <param name="logonTokenCacheExpirationWindow"></param>
        /// <returns>A cookiecontainer holding the FedAuth cookie</returns>
        public CookieContainer GetFedAuthCookie(string siteUrl, string serialNumber, Uri certificateMixed, string relyingPartyIdentifier, int logonTokenCacheExpirationWindow)
        {
            CertificateMixed adfsTokenProvider = new CertificateMixed();

            var token = adfsTokenProvider.RequestToken(serialNumber, certificateMixed, relyingPartyIdentifier);
            string fedAuthValue = TransformSamlTokenToFedAuth(token.TokenXml.OuterXml, siteUrl, relyingPartyIdentifier);

            // Construct the cookie expiration date
            TimeSpan lifeTime = SamlTokenlifeTime(token.TokenXml.OuterXml);
            if (lifeTime == TimeSpan.Zero)
            {
                lifeTime = new TimeSpan(0, 60, 0);
            }

            int cookieLifeTime = Math.Min((lifeTime.Hours * 60 + lifeTime.Minutes), logonTokenCacheExpirationWindow);
            DateTime expiresOn = DateTime.Now.AddMinutes(cookieLifeTime);

            CookieContainer cc = null;

            if (!string.IsNullOrEmpty(fedAuthValue))
            {
                cc = new CookieContainer();
                Cookie samlAuth = new Cookie("FedAuth", fedAuthValue);
                samlAuth.Expires = expiresOn;
                samlAuth.Path = "/";
                samlAuth.Secure = true;
                samlAuth.HttpOnly = true;
                Uri samlUri = new Uri(siteUrl);
                samlAuth.Domain = samlUri.Host;
                cc.Add(samlAuth);
            }

            return cc;
        }
		/// <summary>
		/// Executes the provided request asynchronously, returning the response object.
		/// </summary>
		/// <param name="request"><see cref="ISteamRequest"/> object for execution.</param>
		/// <returns><see cref="ISteamResponse"/> object containing the result of the request.</returns>
		public async Task<ISteamResponse> ExecuteAsync( ISteamRequest request ) {

			AuthenticateClient( this, request );

			HttpRequestMessage httpRequest = BuildHttpRequest( request );

			CookieContainer cookieContainer = new CookieContainer();

			if( request.Cookies == null || request.Cookies.Count > 0 ) {
				foreach( Cookie cookie in request.Cookies )
					cookieContainer.Add( httpRequest.RequestUri, cookie );
			}

			HttpClientHandler httpHandler = new HttpClientHandler();
			httpHandler.CookieContainer = cookieContainer;

			using( var httpClient = new HttpClient( httpHandler ) ){

				httpClient.Timeout = TimeSpan.FromMilliseconds( ( ( request.Timeout > 0 ) ? request.Timeout : this.Timeout ) );

				try {
					request.IncreaseNumAttempts();
					return ConvertToResponse( request, await httpClient.SendAsync( httpRequest ), cookieContainer );
				}catch( Exception ex ) {
					if( ex.InnerException != null && ex.InnerException is WebException )
						return CreateErrorResponse( request, ex.InnerException );
					return CreateErrorResponse( request, ex );
				}

			}

		}
        public async Task<bool> ExecutePostRequest(string request, string postParams)
        {
            var cookies = new CookieContainer();
            HttpClient httpClient = new HttpClient(new HttpClientHandler() { CookieContainer = cookies });
            byte[] login = UTF8Encoding.UTF8.GetBytes(this.login + ":" + password);
            httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(login));

            cookies.Add(new Uri(request), new Cookie("atl.xsrf.token", atl_token));
            var postRequest = new HttpRequestMessage(HttpMethod.Post, request);


            var response = await httpClient.PostAsync(request, new StringContent(postParams, Encoding.UTF8, "application/x-www-form-urlencoded"));
            var responseMessage = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();

            if (verbose)
            {
                Console.WriteLine(responseMessage);
            }

            //dynamic responseObj = JsonConvert.DeserializeObject(responseMessage);
            //var messageFromServer = responseObj.status.Value;
            //var t = responseObj.fieldErrors.variableKey;

            return response.IsSuccessStatusCode && !responseMessage.Contains("Error");
        }
        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);
        }
        public override ImageViewURLReplaceItem Replace(string url)
        {
            string replacedReferer = Pattern.Replace(url, string.IsNullOrEmpty(OptionReferer) ? Referer : OptionReferer);
            string contents;
            CookieContainer cookieContainer = new CookieContainer();
            using (HttpWebResponse res = InternetClient.GetResponse(replacedReferer, url, null))//refererで内容取得,画像urlをリファラとして送信
            {
                cookieContainer.Add(res.Cookies);
                if (res.StatusCode != HttpStatusCode.OK)
                {
                    throw new WebException("cannot get webdata for extract url");
                }
                using (Stream st = res.GetResponseStream())
                using (StreamReader sr = new StreamReader(st, Common.Options.InternetOptions.CurrentEncoding))
                {
                    contents = sr.ReadToEnd();
                }
            }

            string replacement = Pattern.Replace(url, Replacement);
            string extractReplacement = CorrectExtractRegex(replacement);
            string replacedExtractPattern = Pattern.Replace(url, ExtractPattern);
            string matchString = Regex.Match(contents, replacedExtractPattern).Value;
            string imageUrl = Regex.Replace(matchString, replacedExtractPattern, extractReplacement);

            ImageViewURLReplaceItem result = Uri.IsWellFormedUriString(imageUrl, UriKind.Absolute) ?
                new ImageViewURLReplaceItem(imageUrl, replacedReferer, cookieContainer) :
                ImageViewURLReplaceItem.Empty;

            return result;
        }
Exemple #29
0
        private async void OnIdentityProviderTapped(object sender, TappedRoutedEventArgs e)
        {
            var identityProvider = (IdentityProvider)((FrameworkElement)e.OriginalSource).DataContext;

            var webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(
                        WebAuthenticationOptions.None,
                        new Uri(identityProvider.LoginUrl),
                        new Uri("http://authentication.brainthud.com/api/federationcallback/end"));

            var start = webAuthenticationResult.ResponseData.LastIndexOf('=') + 1;
            var nameIdentifier = webAuthenticationResult.ResponseData.Substring(start, webAuthenticationResult.ResponseData.Length - start);
            var cookies = this.getCookies(nameIdentifier);

            var uri = new Uri(@"http://www.brainthud.com/api/Cards/");
            var cookieContainer = new CookieContainer();

            foreach(var cookie in cookies)
            {
                var cookieItem = new Cookie(cookie.Key, cookie.Value);
                cookieContainer.Add(uri, cookieItem);
            }

            var handler = new HttpClientHandler();
            handler.CookieContainer =cookieContainer;
            var client = new HttpClient(handler);
            var response = client.GetAsync(uri).Result;
            var result = response.Content.ReadAsStringAsync().Result;
            var x = result;
        }
Exemple #30
0
        public static FileInfo getPageInfo(string requestUrl, Dictionary<string, string> postData, CookieContainer cookies)
        {
            string baseUrl = ConfigurationManager.AppSettings["Importer_BaseUrl"];
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseUrl + requestUrl);
            request.KeepAlive = true;
            request.CookieContainer = cookies;
            request.ReadWriteTimeout = 3*1000;
            request.Timeout = 3*1000;
            request.Accept = "*";
            if(postData.Count < 1) {
                request.Method = "GET";
            } else {

                StringBuilder postBuilder = new StringBuilder();
                foreach(KeyValuePair<string, string> kvp in postData) {
                    postBuilder.Append(HttpUtility.UrlEncode(kvp.Key, encoding));
                    postBuilder.Append('=');
                    postBuilder.Append(HttpUtility.UrlEncode(kvp.Value, encoding));
                }

                byte[] postBytes = Encoding.ASCII.GetBytes(postBuilder.ToString());

                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = postBytes.Length;

                Stream stream = request.GetRequestStream();
                stream.Write(postBytes, 0, postBytes.Length);
                stream.Close();
            }
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; FDM; .NET4.0C; .NET4.0E)";
            using(HttpWebResponse response = TryGetResponse(request)) {
                cookies.Add(response.Cookies);

                byte[] content;
                using(Stream responseStream = response.GetResponseStream()) {
                    using(MemoryStream memoryStream = new MemoryStream()) {
                        byte[] buffer = new byte[BUFFER];
                        int bytes;
                        while((bytes = responseStream.Read(buffer, 0, BUFFER)) > 0) {
                            memoryStream.Write(buffer, 0, bytes);
                        }
                        content = memoryStream.ToArray();
                    }
                }
                if(response.ContentLength > 0 && content.Length != response.ContentLength) {
                    throw new ApplicationException("incomplete file (expected " + response.ContentLength + ", got " + content.Length + ")");
                }

                FileInfo result = new FileInfo {
                    dataStream = new MemoryStream(content),
                    fileName = response.ResponseUri.Segments.Last(),
                    filePath = response.ResponseUri.AbsolutePath,
                    fileSize = response.ContentLength,
                    lastModified = response.LastModified,
                };
                response.Close();
                return result;
            }
        }
        public bool Autentica(string username, string password)
        {
            try
            {
                var logonUrl = string.Format("http://{0}/CookieAuth.dll?Logon", Site);
                _container = new CookieContainer();

                //prima richiesta
                var request = (HttpWebRequest)WebRequest.Create(logonUrl);
                request.CookieContainer = _container;
                request.Method = "POST";

                request.ContentType = "application/x-www-form-urlencoded";

                var stream = request.GetRequestStream();

                string completeUsername = string.Format("{0}%5C{1}", Domain, username);
                var postData = string.Format("curl=Z2F&flags=0&forcedownlevel=0&formdir=3&username={0}&password={1}&SubmitCreds=Accedi", completeUsername, password);
                using (var sw = new StreamWriter(stream))
                {
                    sw.Write(postData);
                }

                var rs = request.GetResponse() as HttpWebResponse;
                foreach (Cookie c in rs.Cookies)
                    _container.Add(c);

                return true;
            }
            catch(Exception fault)
            {
                throw new Exception("Errore Autenticazione", fault);
            }
        }
        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;
        }
Exemple #33
0
        /// <summary>
        /// 获取网页HTML代码
        /// </summary>
        /// <param name="url">网址</param>
        /// <param name="cookie">cookie</param>
        /// <returns></returns>
        public static string GetHTML(string url, CookieCollection cookie)
        {
            CookieContainer cc = new CookieContainer();
            cc.Add(cookie);

            Uri uri = new Uri(url);
            HttpWebRequest hwReq = (HttpWebRequest)WebRequest.Create(uri);
            hwReq.CookieContainer = cc;

            HttpWebResponse hwRes;

            try
            {
                hwRes = (HttpWebResponse)hwReq.GetResponse();
            }
            catch
            {
                return "NONE";
            }

            hwReq.Method = "Get";
            hwReq.KeepAlive = false;

            StreamReader reader = new StreamReader(hwRes.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
            return reader.ReadToEnd();
        }
Exemple #34
0
 private System.Net.CookieContainer SetCookieContainer(string sPage)
 {
     System.Net.CookieContainer oCookieContainerObject = new System.Net.CookieContainer();
     System.Net.Cookie          oCookie = default(System.Net.Cookie);
     for (Int32 c = 0; c <= oCookieCollection.Count - 1; c++)
     {
         oCookie        = new System.Net.Cookie();
         oCookie.Name   = oCookieCollection[c].Name;
         oCookie.Value  = oCookieCollection[c].Value;
         oCookie.Domain = new Uri(sPage).Host;
         oCookie.Secure = false;
         oCookieContainerObject.Add(oCookie);
     }
     return(oCookieContainerObject);
 }
Exemple #35
0
        /// <inheritdoc/>
        public override void PreInitialize()
        {
            IocManager.Register <IBlocksAntiForgeryWebConfiguration, BlocksAntiForgeryWebConfiguration>();
            IocManager.Register <IBlocksWebLocalizationConfiguration, BlocksWebLocalizationConfiguration>();
            IocManager.Register <IWebEmbeddedResourcesConfiguration, WebEmbeddedResourcesConfiguration>();

            IocManager.Register <IBlocksAntiForgeryConfiguration, BlocksAntiForgeryConfiguration>();
            IocManager.Register <IBlocksWebModuleConfiguration, BlocksWebModuleConfiguration>();
            //            IocManager.Register<IAbpWebModuleConfiguration, AbpWebModuleConfiguration>();
            //
            //            Configuration.ReplaceService<IPrincipalAccessor, HttpContextPrincipalAccessor>(DependencyLifeStyle.Transient);
            //            Configuration.ReplaceService<IClientInfoProvider, WebClientInfoProvider>(DependencyLifeStyle.Transient);
            //
            //            Configuration.MultiTenancy.Resolvers.Add<DomainTenantResolveContributor>();
            //            Configuration.MultiTenancy.Resolvers.Add<HttpHeaderTenantResolveContributor>();
            //            Configuration.MultiTenancy.Resolvers.Add<HttpCookieTenantResolveContributor>();

            IocManager.Register <HttpContextModel, HttpContextModel>((kernel, componentModel, creationContext) => {
                var ru      = HttpContext.Current.Request;
                var cookies = new System.Net.CookieContainer()
                {
                };

                for (int i = 0; i < ru.Cookies.Count; i++)
                {
                    var cook = ru.Cookies[i];
                    cookies.Add(new System.Net.Cookie(cook.Name, cook.Value, cook.Path, ru.ServerVariables["Server_Name"]));
                }

                var heads = new WebHeaderCollection();
                heads.Add("X-XSRF-TOKEN", ru.Headers.Get("X-XSRF-TOKEN"));
                //for (int i = 0; i < ru.Cookies.Count; i++)
                //{
                //    var head = ru.Headers[i];
                //    heads.Add(head, ru.Headers.Get(head));
                //}

                return(new HttpContextModel()
                {
                    RequestUrl = ru.Url, CookieCollection = cookies, webHeaderCollection = heads
                });
            }, Abp.Dependency.DependencyLifeStyle.Transient);
            AddIgnoredTypes();
        }
Exemple #36
0
        public static void HttpDownload(string savefilename, string url, string referer = "", InputFormRef.AutoPleaseWait pleaseWait = null, System.Net.CookieContainer cookie = null)
        {
            HttpWebRequest request = HttpMakeRequest(url, referer, cookie);

            WebResponse rsp = request.GetResponse();

            using (Stream output = File.OpenWrite(savefilename))
                using (Stream input = rsp.GetResponseStream())
                {
                    byte[] buffer        = new byte[1024 * 8];
                    int    totalSize     = (int)rsp.ContentLength;
                    int    readTotalSize = 0;
                    int    bytesRead;
                    while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        output.Write(buffer, 0, bytesRead);

                        if (pleaseWait != null)
                        {
                            readTotalSize += bytesRead;
                            if (totalSize == -1)
                            {
                                pleaseWait.DoEvents("Download: " + readTotalSize + "/" + "???");
                            }
                            else
                            {
                                pleaseWait.DoEvents("Download: " + readTotalSize + "/" + totalSize);
                            }
                        }
                    }
                }

            rsp.Close();

            if (cookie != null)
            {
                System.Net.CookieCollection cookies = request.CookieContainer.GetCookies(request.RequestUri);
                cookie.Add(cookies);
            }
        }
Exemple #37
0
        public static HttpWebClientProtocol CreateClient(Uri uri, WebHeaderCollection headers = null, CookieCollection cookies = null)
        {
            CookieContainer cookieContainer = new System.Net.CookieContainer();

            if (cookies != null)
            {
                if (cookies.Count > 0)
                {
                    foreach (Cookie cookie in cookies)
                    {
                        cookieContainer.Add(uri, cookie);
                    }
                }
            }

            System.Net.Http.HttpClientHandler httpClientHandler = new System.Net.Http.HttpClientHandler()
            {
                CookieContainer = cookieContainer,
                UseCookies      = true,
            };
            HttpClient client = new System.Net.Http.HttpClient(httpClientHandler, true);

            return(new HttpWebClientProtocol(client, headers));
        }
Exemple #38
0
        //httpでそこそこ怪しまれずに通信する
        public static string HttpGet(string url, string referer = "", System.Net.CookieContainer cookie = null)
        {
            HttpWebRequest request = HttpMakeRequest(url, referer, cookie);
            string         r       = "";

            WebResponse rsp = request.GetResponse();
            Stream      stm = rsp.GetResponseStream();

            if (stm != null)
            {
                StreamReader reader = new StreamReader(stm, Encoding.UTF8);
                r = reader.ReadToEnd();
                stm.Close();
            }
            rsp.Close();

            if (cookie != null)
            {
                System.Net.CookieCollection cookies = request.CookieContainer.GetCookies(request.RequestUri);
                cookie.Add(cookies);
            }

            return(r);
        }
Exemple #39
0
        public override WebResponse GetResponse()
        {
            lock (this)
            {
                if (_isAborted)
                {
                    throw new WebException("The operation has been aborted.", WebExceptionStatus.RequestCanceled);
                }
                if (!_isConnectionOpened)
                {
                    OpenConnection();
                }
                if (_response == null)
                {
                    try
                    {
                        synchHeaders();
                        InternalExecuteMethod();
                        int numOfRedirects = 0;
                        while (isRedirectNeeded(_method) && _allowAutoRedirect && numOfRedirects < MaxAutoRedirections)
                        {
                            if (!HandleManualyRedirect())
                            {
                                break;
                            }
                            numOfRedirects++;
                        }

                        //todo right place to re-put all headers again...
                        mainsoft.apache.commons.httpclient.Header hostHeader =
                            _method.getRequestHeader("Host");
                        if (hostHeader != null)
                        {
                            Headers.SetInternal("Host", hostHeader.getValue());
                        }

                        _response = new HttpWebResponse(_method, _state, _stateCache, GetAddress(), this.MethodName);

                        if (_response != null &&
                            _response.Cookies != null &&
                            _response.Cookies.Count > 0)
                        {
                            if (CookieContainer != null)
                            {
                                foreach (Cookie cooky in _response.Cookies)
                                {
                                    CookieContainer.Add(GetAddress(), cooky);
                                }
                            }
                        }

                        _hasResponse = true;
                        int respCodeAsInt = (int)_response.StatusCode;
                        if (respCodeAsInt >= 400)
                        {
                            // The WebException contains the readable (not closed) response stream.
                            // So, in case of WebException, we should read all data from the
                            // network response stream into the memory stream, and after that
                            // close the underlying network stream. The following requests to read
                            // from the stream will actually read from the memory stream.
                            // So, the this.Abort() should not be called in this case.
                            _response.ReadAllAndClose();
                            //this.Abort();
                            throw new WebException("The remote server returned an error: (" + respCodeAsInt + ") " + _response.StatusCode, null, WebExceptionStatus.ProtocolError, _response);
                        }
                        Header location = _method.getResponseHeader("location");
                        if (isRedirectNeeded(_method) && location == null && _method.getFollowRedirects())
                        {
                            // See comments above for the error >= 400
                            _response.ReadAllAndClose();
                            //this.Abort();
                            throw new WebException("Got response code " + _response.StatusCode + ", but no location provided", null, WebExceptionStatus.ProtocolError, _response);
                        }
                    }
                    catch (ProtocolException e)
                    {
                        throw new WebException("", e);
                    }
                    catch (java.net.ConnectException e)
                    {
                        throw new WebException("Unable to connect to the remote server.", e);
                    }
                    catch (java.net.SocketTimeoutException e)
                    {
                        throw new WebException("Timeout exceeded", e);
                    }
                    catch (java.io.IOException e)
                    {
                        throw new WebException("", e);
                    }
                }
                return(_response);
            }
        }
Exemple #40
0
        public static string HttpPost(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

            request.Method        = "POST";
            request.ContentType   = "application/x-www-form-urlencoded";
            request.ContentLength = postDataStr.Length;
            request.KeepAlive     = true;
            if (cc != null)
            {
                request.CookieContainer = cc;
            }

            request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36";
            StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII);

            writer.Write(postDataStr);
            writer.Flush();
            try
            {
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                if (response.StatusCode != HttpStatusCode.OK)
                {
                    return(response.StatusCode.ToString());
                }
                string encoding = response.ContentEncoding;
                if (encoding == null || encoding.Length < 1)
                {
                    encoding = "UTF-8"; //默认编码
                }

                string[] cookies = response.Headers.GetValues("Set-Cookie");
                if (cookies != null && cookies.Length > 0)
                {
                    foreach (string cookie in cookies)
                    {
                        string[] cs = cookie.Split(';');
                        foreach (string ca in cs)
                        {
                            string[] kv = ca.Split('=');
                            if (kv.Length == 2)
                            {
                                Cookie c = new Cookie(kv[0].TrimStart(' '), kv[1], "/", "english.ulearning.cn");
                                if (cc == null)
                                {
                                    cc = new CookieContainer();
                                }
                                cc.Add(c);
                            }
                        }
                    }
                }
                StreamReader reader    = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
                string       retString = reader.ReadToEnd();
                return(retString);
            }
            catch
            {
                return("");
            }
        }
Exemple #41
0
        protected virtual HttpWebResponse GetResponse(HttpMethod method, bool autoRedirect)
        {
            _initRequest = false;
            if (method == null)
            {
                method = _content.HasBody ? HttpMethod.Post : HttpMethod.Get;
            }
            _request.Method            = method.Method;
            _request.AllowAutoRedirect = autoRedirect;
            CopyHeaders();
            if (method == HttpMethod.Post)
            {
                if (_content.Files.Count > 0)
                {
                    var sb = new StringBuilder();
                    // http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4
                    string boundary      = DateTime.Now.Ticks.ToString("x");
                    byte[] beginBoundary = Encoding.ASCII.GetBytes(string.Format("--{0}{1}", boundary, E.NewLine)),
                    endBoundary          = Encoding.ASCII.GetBytes(string.Format("--{0}--{1}", boundary, E.NewLine));
                    _request.ContentType = string.Format("multipart/form-data; boundary={0}", boundary);

                    long contentLength = 0L;
                    var  methodQueue   = new Queue <Action <Stream> >();

                    for (int i = 0; i < _content.Form.Count; i++)
                    {
                        sb.Length = 0;
                        sb.AppendFormat("Content-Disposition: form-data; name=\"{0}\"{1}{1}", _content.Form.GetKey(i), E.NewLine);
                        sb.AppendFormat("{0}{1}", _content.Form.Get(i), E.NewLine);

                        byte[] body = Encoding.UTF8.GetBytes(sb.ToString());
                        contentLength += beginBoundary.LongLength + body.LongLength;
                        methodQueue.Enqueue(new Action <Stream>(stream =>
                        {
                            stream.Write(beginBoundary, 0, beginBoundary.Length);
                            stream.Write(body, 0, body.Length);
                        }));
                    }

                    byte[] endOfFile = Encoding.ASCII.GetBytes(E.NewLine);
                    foreach (var file in _content.Files)
                    {
                        sb.Length = 0;
                        sb.AppendFormat("Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"{2}", file.InputName, System.Web.HttpUtility.UrlEncode(file.FileName), E.NewLine);
                        sb.AppendFormat("Content-Type: {0}{1}{1}", file.ContentType, E.NewLine);

                        byte[] body = Encoding.UTF8.GetBytes(sb.ToString());
                        contentLength += beginBoundary.LongLength + body.LongLength + file.ContentLength + endOfFile.LongLength;
                        methodQueue.Enqueue(new Action <Stream>(stream =>
                        {
                            stream.Write(beginBoundary, 0, beginBoundary.Length);
                            stream.Write(body, 0, body.Length);
                            file.InputStream.FixedCopyTo(stream);
                            stream.Write(endOfFile, 0, endOfFile.Length);
                        }));
                    }

                    _request.ContentLength = contentLength + endBoundary.LongLength;
                    Stream requestStream = _request.GetRequestStream();
                    while (methodQueue.Count > 0)
                    {
                        methodQueue.Dequeue()(requestStream);
                    }
                    requestStream.Write(endBoundary, 0, endBoundary.Length);
                    requestStream.Close();
                }
                else
                {
                    _request.ContentType = "application/x-www-form-urlencoded";
                    if (_content.Form.Count > 0)
                    {
                        byte[] body = Encoding.UTF8.GetBytes(_content.GetFormString());
                        _request.ContentLength = body.LongLength;
                        Stream requestStream = _request.GetRequestStream();
                        requestStream.Write(body, 0, body.Length);
                        requestStream.Close();
                    }
                }
            }

            var response = (HttpWebResponse)_request.GetResponse();

            _referer = response.ResponseUri.AbsoluteUri;
            if (this.UseCookies)
            {
                _cookieContainer.Add(response.ResponseUri, response.Cookies);
            }
            _proxyAddr = null;
            if (_validateResponse != null && !_validateResponse(response))
            {
                throw new WebException(ValidateResponseFailure, null, WebExceptionStatus.UnknownError, response);
            }
            return(response);
        }
Exemple #42
0
        private ResponseModel GetHtml(string url, string refurl = null, System.Net.CookieContainer cookieContainer = null, string _contentType = "", NameValueCollection headers = null, int retType = 1)
        {
            if (cookieContainer == null)
            {
                cookieContainer = this.cc;
            }

            ResponseModel model = new ResponseModel();

            ServicePointManager.Expect100Continue = true;

            ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);

            HttpWebRequest  request  = null;
            HttpWebResponse response = null;

            try
            {
                request = (HttpWebRequest)WebRequest.Create(url);
                if (this.Proxy != null)
                {
                    request.Proxy = this.Proxy;
                }
                request.CookieContainer = cookieContainer;
                request.Timeout         = timeOut;
                if (string.IsNullOrEmpty(_contentType))
                {
                    request.ContentType = this.contentType;
                }
                else
                {
                    request.ContentType = _contentType;
                }

                if (string.IsNullOrEmpty(refurl))
                {
                    request.Referer = url;
                }
                else
                {
                    request.Referer = refurl;
                }


                request.AllowAutoRedirect = AllowAutoRedirect;
                request.Accept            = this.accept;
                request.UserAgent         = this.userAgent;

                if (headers != null)
                {
                    request.Headers.Add(Heads);
                    request.Headers.Add(headers);
                }
                else
                {
                    request.Headers.Add(Heads);
                }

                request.Method = "GET";


                if (retType == 1)
                {
                    response = (HttpWebResponse)request.GetResponse();

                    model.Header = response.Headers;

                    Stream responseStream = response.GetResponseStream();

                    if (response.Cookies.Count > 0)
                    {
                        this.cc.Add(response.Cookies);
                    }

                    model.Stream = responseStream;

                    return(model);
                }

                string str = string.Empty;
                response = (HttpWebResponse)request.GetResponse();

                model.Header = response.Headers;

                string encoding = "utf-8";

                if (!string.IsNullOrEmpty(response.CharacterSet))
                {
                    encoding = response.CharacterSet.ToLower();
                }
                else
                {
                    encoding = this.encoding.HeaderName;
                }

                if (response.ContentEncoding.ToLower().Contains("gzip"))
                {
                    using (GZipStream stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress))
                    {
                        using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(encoding)))
                        {
                            str = reader.ReadToEnd();
                        }
                    }
                }
                else if (response.ContentEncoding.ToLower().Contains("deflate"))
                {
                    using (DeflateStream stream = new DeflateStream(response.GetResponseStream(), CompressionMode.Decompress))
                    {
                        using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(encoding)))
                        {
                            str = reader.ReadToEnd();
                        }
                    }
                }
                else
                {
                    using (Stream stream = response.GetResponseStream())
                    {
                        using (StreamReader reader = new StreamReader(stream, Encoding.GetEncoding(encoding)))
                        {
                            str = reader.ReadToEnd();
                        }
                    }
                }

                if (response.Cookies.Count > 0)
                {
                    cookieContainer.Add(response.Cookies);
                }


                request.Abort();
                response.Close();

                model.Html = str;
                return(model);
            }
            catch (Exception ex)
            {
                if (request != null)
                {
                    request.Abort();
                }
                if (response != null)
                {
                    response.Close();

                    return(new ResponseModel()
                    {
                        Html = ex.Message, Header = response.Headers
                    });
                }
                return(new ResponseModel()
                {
                    Html = ex.Message
                });
            }
            finally
            {
                if (needReset)
                {
                    AllowAutoRedirect = false;
                    needReset         = false;
                }
            }
        }
Exemple #43
0
        public static async Task SendHttpRequestAsync(
            string url,
            Dictionary <string, string> param,
            Dictionary <string, FileModel> files,
            List <Cookie> cookies,
            RequestMethodEnum method,
            int timeout_second,
            VoidFunc <HttpResponseMessage> handler)
        {
            var u = new Uri(url);

            using (var httpHandler = new HttpClientHandler()
            {
                UseCookies = false
            })
            {
                //创建cookie
                if (ValidateHelper.IsPlumpList(cookies))
                {
                    var cookieContainer = new System.Net.CookieContainer();
                    cookies.ForEach(x =>
                    {
                        cookieContainer.Add(u, x);
                    });
                    httpHandler.UseCookies      = true;
                    httpHandler.CookieContainer = cookieContainer;
                }
                using (var client = new HttpClient(httpHandler))
                {
                    client.DefaultRequestHeaders.Add("UserAgent",
                                                     "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
                    //发送X_FORWARDED_FOR头(若是用取源IP的方式,可以用这个来造假IP,对日志的记录无效)
                    client.DefaultRequestHeaders.Add("X_FORWARDED_FOR", "101.0.0.11");
                    client.Timeout = TimeSpan.FromSeconds(timeout_second);

                    HttpResponseMessage response = null;
                    if (method == RequestMethodEnum.POST)
                    {
                        //使用MultipartFormDataContent请参考邮件里的记录
                        //拼url传参
                        //using (var urlContent = new FormUrlEncodedContent(param)) { }
                        //form提交
                        using (var formContent = new MultipartFormDataContent())
                        {
                            if (ValidateHelper.IsPlumpDict(param))
                            {
                                param = param.NotNull();
                                foreach (var key in param.Keys)
                                {
                                    formContent.Add(new StringContent(param[key]), key);
                                }
                            }
                            if (ValidateHelper.IsPlumpDict(files))
                            {
                                foreach (var key in files.Keys)
                                {
                                    formContent.Add(CreateFileContent(files[key], key), key);
                                }
                            }
                            response = await client.PostAsync(u, formContent);
                        }
                    }
                    if (method == RequestMethodEnum.GET)
                    {
                        response = await client.GetAsync(u);
                    }
                    if (method == RequestMethodEnum.PUT)
                    {
                        throw new NotImplementedException();
                        //response = await client.PutAsync(u, null);
                    }
                    if (method == RequestMethodEnum.DELETE)
                    {
                        response = await client.DeleteAsync(u);
                    }

                    if (response == null)
                    {
                        throw new Exception("返回空");
                    }
                    using (response)
                    {
                        handler.Invoke(response);
                    }
                }
            }
        }
        static void Main(string[] args)
        {
            if (args is null)
            {
                throw new ArgumentNullException(nameof(args));
            }

            System.Net.CookieContainer myCookies = new System.Net.CookieContainer();


            Console.Title = "Lousand Checker v1.0 By zDouwin_#7460 |";

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("|        ____           ___                                    _____    ");
            Console.WriteLine("|       |    |  |    | |           ____        __       _      |    /   ");
            Console.WriteLine("|       |    |  |    | |          /    /      | /|       | /   |     /   ");
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("|       |    |  |    | |____    /      /     | / /|     | /   |     |   ");
            Console.WriteLine("|       |    |  |    |     |   /   __   /    | /  /|   | /    |     /   ");
            Console.WriteLine("|______ |____|  |____| ____|  /   |__|   /   | /   /|_| /     |____/    ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Discord | " + "https://discord.gg/f4HgAwg");
            Console.WriteLine("Threads :");
            int Threads = Convert.ToInt32(Console.ReadLine());

            Console.Clear();

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("|        ____           ___                                    _____    ");
            Console.WriteLine("|       |    |  |    | |           ____        __       _      |    /   ");
            Console.WriteLine("|       |    |  |    | |          /    /      | /|       | /   |     /   ");
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("|       |    |  |    | |____    /      /     | / /|     | /   |     |   ");
            Console.WriteLine("|       |    |  |    |     |   /   __   /    | /  /|   | /    |     /   ");
            Console.WriteLine("|______ |____|  |____| ____|  /   |__|   /   | /   /|_| /     |____/    ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Discord | " + "https://discord.gg/f4HgAwg");
            Console.WriteLine("Threads:" + Threads);

            Console.WriteLine("Proxies type (HTTP, SOCKS4, SOCKS5) :");
            string proxiesType = Console.ReadLine().ToUpper();

            Console.Clear();

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("|        ____           ___                                    _____    ");
            Console.WriteLine("|       |    |  |    | |           ____        __       _      |    /   ");
            Console.WriteLine("|       |    |  |    | |          /    /      | /|       | /   |     /   ");
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("|       |    |  |    | |____    /      /     | / /|     | /   |     |   ");
            Console.WriteLine("|       |    |  |    |     |   /   __   /    | /  /|   | /    |     /   ");
            Console.WriteLine("|______ |____|  |____| ____|  /   |__|   /   | /   /|_| /     |____/    ");
            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("Discord | " + "https://discord.gg/f4HgAwg");
            Console.WriteLine("Threads | " + Threads);
            Console.WriteLine("Proxies Type | " + proxiesType);

            Console.Clear();

            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.WriteLine("|        ____           ___                                    _____    ");
            Console.WriteLine("|       |    |  |    | |           ____        __       _      |    /   ");
            Console.WriteLine("|       |    |  |    | |          /    /      | /|       | /   |     /   ");
            Console.ForegroundColor = ConsoleColor.DarkMagenta;
            Console.WriteLine("|       |    |  |    | |____    /      /     | / /|     | /   |     |   ");
            Console.WriteLine("|       |    |  |    |     |   /   __   /    | /  /|   | /    |     /   ");
            Console.WriteLine("|______ |____|  |____| ____|  /   |__|   /   | /   /|_| /     |____/    ");

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("");
            Console.WriteLine("| Discord | " + "https://discord.gg/f4HgAwg");
            Console.WriteLine("| Threads | " + Threads);
            Console.WriteLine("| Proxies Type | " + proxiesType);
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.WriteLine("");
            Thread.Sleep(1000);
            Console.WriteLine("Importing accounts lines...");
            Thread.Sleep(1405);
            Console.WriteLine("Importing proxies lines...");
            Console.WriteLine("");
            Thread.Sleep(2506);
            Console.WriteLine("");
            Console.WriteLine("LOADING......");
            Console.WriteLine("");

            List <Task> tasklist = new List <Task>();

            List <string> accounts = new List <string>(File.ReadLines("accounts.txt"));
            List <string> proxies  = File.ReadAllLines("proxies.txt").ToList();

            //Variables para las accounts

            int checkeds = 0;
            int hits     = 0;
            int deads    = 0;
            int Remaing  = 0;

            Remaing = accounts.Count - checkeds;

            //CODIGO PARA HACER LA HROA

            int hrs, min, seg;

            for (hrs = 0; hrs < 24; hrs++)
            {
                for (min = 0; min < 60; min++)
                {
                    for (seg = 0; seg < 60; seg++)
                    {
                        Console.Title = "PitufiChecker v1.0 By zDouwin_#7460 |" + "(" + checkeds + "/" + accounts.Count + ")" + " | Hits: " + hits + " | Deads: " + deads + " | Remaing: " + Remaing + " / " + " Elapsed: " + hrs + " : " + min + " : " + seg;
                        Thread.Sleep(1000);


                        Parallel.ForEach(accounts, new ParallelOptions {
                            MaxDegreeOfParallelism = Threads
                        }, account =>
                        {
                            if (account.Split(':').Length == 2)
                            {
                                string username = account.Split(':')[0];
                                string password = account.Split(':')[1];

                                {
                                    System.Net.CookieContainer cookies = new System.Net.CookieContainer();



                                    string postData = "password: "******"&requestUsaer: " + "true" + "&username: "******"&form=submit";


                                    bool result = HttpMethods.Post("https://my.minecraft.net/es-es/login/", postData, "https://authserver.mojang.com/authenticate", cookies);
                                    //string mySrc = HttpMethods.Get("https://my.minecraft.net/es-es/profile/", "https://my.minecraft.net/es-es/profile/", ref myCookies);



                                    ///////////////////////////////////////////////////////////////////////
                                    //  https://my.minecraft.net/es-es/profile/                         //
                                    //  https://my.minecraft.net/es-es/login/                          //
                                    //  https://api.mojang.com/user/security/challenges               //
                                    //  https://authserver.mojang.com/authenticate                   //
                                    //  https://my.minecraft.net                                    //
                                    //  https://my.minecraft.net/es-es/login/?return_url=/profile  //
                                    //                                                            //
                                    ///////////////////////////////////////////////////////////////


                                    string url         = "https://my.minecraft.net/es-es/profile/";
                                    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

                                    using (HttpWebResponse resp = (HttpWebResponse)req.GetResponse())


                                    {
                                        cookies.Add(resp.Cookies);

                                        StreamReader streamReader = new StreamReader(resp.GetResponseStream());
                                        StreamReader sr           = streamReader;

                                        string pageSrc = sr.ReadToEnd();

                                        //Console.WriteLine(pageSrc);


                                        string keysfa = "Fecha de registro (UTC)";
                                        if (!result == pageSrc.Contains(keysfa))
                                        {
                                            Console.ForegroundColor = ConsoleColor.Cyan;
                                            Console.WriteLine("[SFA]" + account);
                                            Interlocked.Increment(ref hits);
                                            Interlocked.Increment(ref checkeds);
                                            Interlocked.Increment(ref Remaing);
                                        }
                                        else
                                        {
                                            Console.ForegroundColor = ConsoleColor.Red;
                                            Console.WriteLine("[DEAD]" + account);
                                            Interlocked.Increment(ref deads);
                                            Interlocked.Increment(ref checkeds);
                                            Interlocked.Increment(ref Remaing);
                                        }
                                        //

                                        //
                                        Thread.Sleep(new Random().Next(600, 15500));
                                    }
                                }
                            }
                        });
                    }
                }
            }
        }
Exemple #45
0
        void SetCookie(string header)
        {
            string       name, val;
            Cookie       cookie = null;
            CookieParser parser = new CookieParser(header);

            while (parser.GetNextNameValue(out name, out val))
            {
                if ((name == null || name == "") && cookie == null)
                {
                    continue;
                }

                if (cookie == null)
                {
                    cookie = new Cookie(name, val);
                    continue;
                }

                name = name.ToUpper();
                switch (name)
                {
                case "COMMENT":
                    if (cookie.Comment == null)
                    {
                        cookie.Comment = val;
                    }
                    break;

                case "COMMENTURL":
                    if (cookie.CommentUri == null)
                    {
                        cookie.CommentUri = new Uri(val);
                    }
                    break;

                case "DISCARD":
                    cookie.Discard = true;
                    break;

                case "DOMAIN":
                    if (cookie.Domain == "")
                    {
                        cookie.Domain = val;
                    }
                    break;

                case "HTTPONLY":
                    cookie.HttpOnly = true;
                    break;

                case "MAX-AGE":                 // RFC Style Set-Cookie2
                    if (cookie.Expires == DateTime.MinValue)
                    {
                        try {
                            cookie.Expires = cookie.TimeStamp.AddSeconds(UInt32.Parse(val));
                        } catch {}
                    }
                    break;

                case "EXPIRES":                 // Netscape Style Set-Cookie
                    if (cookie.Expires != DateTime.MinValue)
                    {
                        break;
                    }

                    cookie.Expires = CookieParser.TryParseCookieExpires(val);
                    break;

                case "PATH":
                    cookie.Path = val;
                    break;

                case "PORT":
                    if (cookie.Port == null)
                    {
                        cookie.Port = val;
                    }
                    break;

                case "SECURE":
                    cookie.Secure = true;
                    break;

                case "VERSION":
                    try {
                        cookie.Version = (int)UInt32.Parse(val);
                    } catch {}
                    break;
                }
            }

            if (cookie == null)
            {
                return;
            }

            if (cookieCollection == null)
            {
                cookieCollection = new CookieCollection();
            }

            if (cookie.Domain == "")
            {
                cookie.Domain = uri.Host;
            }

            cookieCollection.Add(cookie);
            if (cookie_container != null)
            {
                cookie_container.Add(uri, cookie);
            }
        }
 public void AddCookie(string url, string key, string value)
 {
     Cookies.Add(new Uri(url), new Cookie(key, value));
 }