Exemplo n.º 1
2
        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;
        }
Exemplo n.º 2
1
 public static HttpWebRequest Post(string url, CookieContainer cookies = null)
 {
     var request = CreateRequest(new Uri(url), cookies);
     request.Method = WebRequestMethods.Http.Post;
     request.ContentType = "application/x-www-form-urlencoded";
     return request;
 }
Exemplo n.º 3
1
        /// <summary>
        /// Coockieを使用してHTMLを取得する 
        /// </summary>
        /// <param name="uri">取得先のURL</param>
        /// <param name="cc">取得済みのCoockie</param>
        /// <returns>htmlソース</returns>
        async Task<string> GetWebPageAsync(Uri uri, CookieContainer cookie)
        {
            // Cookieがnullでなければ使用する
            using (var handler = (cookie != null ?
                   new HttpClientHandler() { CookieContainer = cookie } :
                   new HttpClientHandler()))
            using (var client = new HttpClient(handler))
            {
                client.Timeout = TimeSpan.FromSeconds(10.0);

                try
                {
                    return await client.GetStringAsync(uri);
                }
                catch (HttpRequestException e)
                {
                    // 404エラーや、名前解決失敗など
                    Console.WriteLine("\n例外発生!");
                    // InnerExceptionも含めて、再帰的に例外メッセージを表示する
                    Exception ex = e;
                    while (ex != null)
                    {
                        Console.WriteLine("例外メッセージ: {0} ", ex.Message);
                        ex = ex.InnerException;
                    }
                }
                catch (TaskCanceledException e)
                {
                    Console.WriteLine("\nタイムアウト!");
                    Console.WriteLine("例外メッセージ: {0} ", e.Message);
                }
                return null;
            }
        }
Exemplo n.º 4
1
        /// <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 Stream GetCheckCodeImageStream(string imageAddress, CookieContainer ccEntered, out CookieCollection ccReturned)
        {
            HttpWebRequest request;
            HttpWebResponse response;

            request = (HttpWebRequest)HttpWebRequest.Create(imageAddress);

            request.Method = "GET";
            request.ProtocolVersion = HttpVersion.Version11;
            //request.Connection = "keep-alive";
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.861.0 Safari/535.2";
            request.Accept = "*/*";
            request.Referer = "http://buy.taobao.com/auction/buy_now.jhtml";

            //request.Headers.Add("Connection", "keep-alive");

            request.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
            request.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8");
            request.Headers.Add("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3");

            request.CookieContainer = ccEntered;

            request.AllowAutoRedirect = true;

            response = (HttpWebResponse)request.GetResponse();
            ccReturned = response.Cookies;
            Stream s = response.GetResponseStream();
            response.Close();
            return s;
        }
 public SavePostThread(CookieContainer cookie, string userAgent, List<SavedListing> posts, bool save)
 {
     mCookie = cookie;
     mUserAgent = userAgent;
     postsToSave = posts;
     mSave = save;
 }
Exemplo n.º 7
1
        private void LoginNormal(string username,string password,string data,ref CookieContainer cookies)
        {
            //POST login data
            Dictionary<string,string> postData = new Dictionary<string, string> ();
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create ("https://www.livecoding.tv/accounts/login/");
            request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)";
            request.CookieContainer = cookies;
            request.Method = "POST";
            request.Referer = "https://www.livecoding.tv/accounts/login/";
            request.ContentType = "application/x-www-form-urlencoded";

            postData.Add ("csrfmiddlewaretoken", HtmlHelper.getAttribute(HtmlHelper.getSingleElement(data,"<input type='hidden' name='csrfmiddlewaretoken'"),"value"));
            postData.Add ("login", username);
            postData.Add ("password", password);
            byte[] postBuild = HttpHelper.CreatePostData (postData);
            request.ContentLength = postBuild.Length;
            request.GetRequestStream ().Write (postBuild, 0, postBuild.Length);

            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
            using (System.IO.StreamReader sr = new System.IO.StreamReader (response.GetResponseStream ())) {
                data = sr.ReadToEnd();
            }

            if (LoginCompleted != null)
                LoginCompleted (this, cookies);
        }
		protected override HttpWebRequest PrepareWebRequest()
		{
			this.UserName.CheckStringIsNullOrEmpty("UserName");
			string password = this.Password;

			if (password == null)
				password = string.Empty;

			string md5Password = Common.GetMd5String(password).ToLower();
			string padata = "username="******"&pwd=" + HttpUtility.UrlEncode(md5Password) + "&imgcode=&f=json";

			string url = "https://mp.weixin.qq.com/cgi-bin/login?lang=zh_CN";

			CookieContainer cc = new CookieContainer();//接收缓存
			byte[] byteArray = Encoding.UTF8.GetBytes(padata); // 转化
			HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);  //新建一个WebRequest对象用来请求或者响应url

			request.CookieContainer = cc;                                    //保存cookie  
			request.Method = "POST";                                         //请求方式是POST
			request.ContentType = "application/x-www-form-urlencoded";       //请求的内容格式为application/x-www-form-urlencoded
			request.ContentLength = byteArray.Length;
			request.Referer = "https://mp.weixin.qq.com/";

			request.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1";
			request.Headers["X-Requested-With"] = "XMLHttpRequest";

			using (Stream newStream = request.GetRequestStream())           //返回用于将数据写入 Internet 资源的 Stream。
			{
				newStream.Write(byteArray, 0, byteArray.Length);			//写入参数
			}

			return request;
		}
 public string GetPage(string posturl)
 {
     Stream instream = null;
     StreamReader sr = null;
     HttpWebResponse response = null;
     HttpWebRequest request = null;
     Encoding encoding = Encoding.UTF8;
     // 准备请求...
     try
     {
         // 设置参数
         request = WebRequest.Create(posturl) as HttpWebRequest;
         CookieContainer cookieContainer = new CookieContainer();
         request.CookieContainer = cookieContainer;
         request.AllowAutoRedirect = true;
         request.Method = "GET";
         request.ContentType = "application/x-www-form-urlencoded";
         //发送请求并获取相应回应数据
         response = request.GetResponse() as HttpWebResponse;
         //直到request.GetResponse()程序才开始向目标网页发送Post请求
         instream = response.GetResponseStream();
         sr = new StreamReader(instream, encoding);
         //返回结果网页(html)代码
         string content = sr.ReadToEnd();
         string err = string.Empty;
         Response.Write(content);
         return content;
     }
     catch (Exception ex)
     {
         string err = ex.Message;
         return string.Empty;
     }
 }
Exemplo n.º 10
1
        public bool GetLoginUrl(string userId, string password, string dmtrackPageid, string st, ref CookieContainer cookieContainer)
        {
            string preUrl = "https://login.alibaba.com/validateST.htm?pd=alibaba&pageFrom=standardlogin&u_token=&xloginPassport={0}&xloginPassword={1}&xloginCheckToken=&rememberme=rememberme&runatm=runatm&dmtrack_pageid={2}&st={3}";
            string url = string.Format(preUrl, userId, password, dmtrackPageid, st);
            string html = HttpHelper.GetHtml(url);
            string xloginCallBackForRisUrl = "https://login.alibaba.com/xloginCallBackForRisk.do";
            string postString = "dmtrack_pageid_info=" + dmtrackPageid + "&xloginPassport=" + userId + "&xloginPassword="******"&ua=&pd=alibaba";
            HttpHelper.GetHtml(xloginCallBackForRisUrl, postString, cookieContainer);

            if (string.IsNullOrEmpty(html) || html.IndexOf("var xman_success=") == -1)
            {
                return false;
            }
            string context = html.Replace("var xman_success=", "").Trim();
            AliLoginUser aliLoginUser = JsonConvert.FromJson<AliLoginUser>(context);
            List<string> urls = aliLoginUser.xlogin_urls;
            foreach (string urlstring in urls)
            {
                HttpHelper.GetHtml(urlstring, cookieContainer);
            }
            string manageHtml = HttpHelper.GetHtml(HttpClient.ManageHtml, cookieContainer);
            DataCache.Instance.CsrfToken = HttpClient.GetCsrfToken(manageHtml);
            DataCache.Instance.CheckCodeUrl = HttpClient.GetCheckCodeUrl(manageHtml);
            DataCache.Instance.AliID = FileUtils.GetAliId(cookieContainer, Constants.HomeUrl);
            ShareCookie.Instance.LoginCookieContainer = cookieContainer;
            return true;
        }
Exemplo n.º 11
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"));
 }
Exemplo n.º 12
1
		/// <summary>
		/// Access specified url.
		/// </summary>
		/// <returns></returns>
		public static TransferResult Transfer(string url, CookieContainer cookieContainer)
		{
			TransferResult rlt = new TransferResult();
			try
			{
				url = ResolveUrl(url);
				HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
				if (cookieContainer != null)
				{
					request.CookieContainer = cookieContainer;
				}
				HttpWebResponse response = (HttpWebResponse)request.GetResponse();
				StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.Default);
				rlt.Result = reader.ReadToEnd();
				rlt.ContentEncoding = reader.CurrentEncoding;
				rlt.ContentType = response.ContentType;
				rlt.Success = true;
			}
			catch (Exception ex)
			{
				Exceptions.LogOnly(ex);
				rlt.Success = false;
			}
			return rlt;
		}
 protected bool ChencSubmitDatas(CookieContainer cookieContainer, String postData)
 {
     var submitAction = new SubmitOrderAction();
     var translation = new HTML_Translation();
     submitAction.PostData = postData;
     var str = submitAction.CheckOrderInfoEx(cookieContainer);
     var returnString = translation.TranslationHtmlEx(str);
     if (returnString["data"]["errMsg"] != null && returnString["data"]["errMsg"].ToString() != "")
     {
         return  _checkState = false;
     }
     if (str.Contains("取消次数过多"))
     {
         return _checkState = false;
     }
     if (returnString["data"]["get608Msg"] != null)
     {
         return  _checkState = false;
     }
     if (returnString["messages"].Any())
     {
         return _checkState = false;
     }
     return _checkState = true;
 }
 public IWebRequest Build(string url, IEnumerable<KeyValuePair<string, string>> headers, CookieContainer cookieContainer, bool allowAutoRedirect = true)
 {
     var request = WebRequest.Create(url);
     var httpRequest = request as HttpWebRequest;
     httpRequest.AllowAutoRedirect = allowAutoRedirect;
     httpRequest.CookieContainer = cookieContainer;
     foreach (var kvp in headers)
     {
         switch (kvp.Key.ToUpperInvariant())
         {
             case "HOST":
                 httpRequest.Host = kvp.Value;
                 break;
             case "REFERER":
                 httpRequest.Referer = kvp.Value;
                 break;
             case "USER-AGENT":
                 httpRequest.UserAgent = kvp.Value;
                 break;
             case "ACCEPT":
                 httpRequest.Accept = kvp.Value;
                 break;
             default:
                 httpRequest.Headers.Add(kvp.Key, kvp.Value);
                 break;
         }
     }
     return new DesktopWebRequest(httpRequest);
 }
Exemplo n.º 15
1
        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;
        }
Exemplo n.º 16
1
 public override string GetVideoUrl(string url)
 {
     CookieContainer cc = new CookieContainer();
     string fullUrl = url + "?ss=1";
     string webData = WebCache.Instance.GetWebData(fullUrl, "ss=1&sss=1", cc);
     Match m = Regex.Match(webData, @"var\st=setTimeout\(""lc\('(?<s>[^']*)','(?<k>[^']*)','(?<t>[^']*)','(?<key>[^']*)'\)"",[^\)]*\);");
     if (m.Success)
     {
         string newUrl = String.Format(@"http://www.ecostream.tv/lo/mq.php?s={0}&k={1}&t={2}&key={3}",
             m.Groups["s"].Value, m.Groups["k"].Value, m.Groups["t"].Value, m.Groups["key"].Value);
         webData = WebCache.Instance.GetWebData(newUrl, "", cc, referer: fullUrl);
         m = Regex.Match(webData, @"<param\sname=""flashvars""\svalue=""file=(?<url>[^&]*)&[^>]*>");
         if (m.Success)
         {
             newUrl = HttpUtility.UrlDecode(m.Groups["url"].Value);
             if (!Uri.IsWellFormedUriString(newUrl, UriKind.Absolute))
             {
                 Uri uri = null;
                 if (Uri.TryCreate(new Uri(url), newUrl, out uri))
                 {
                     return WebCache.Instance.GetRedirectedUrl(uri.ToString() + "&start=0");
                 }
             }
         }
     }
     return String.Empty;
 }
Exemplo n.º 17
1
 public override int DiscoverDynamicCategories()
 {
     if (Settings.Categories == null) Settings.Categories = new BindingList<Category>();
     cc = new CookieContainer();
     string data = GetWebData(@"https://www.filmon.com/tv/live", userAgent: userAgent, cookies: cc);
     string jsondata = @"{""result"":" + Helpers.StringUtils.GetSubString(data, "var groups =", @"if(!$.isArray").Trim().TrimEnd(';') + "}";
     JToken jt = JObject.Parse(jsondata) as JToken;
     foreach (JToken jCat in jt["result"] as JArray)
     {
         RssLink cat = new RssLink();
         cat.Name = jCat.Value<string>("title");
         cat.Description = jCat.Value<string>("description");
         cat.Thumb = jCat.Value<string>("logo_uri");
         Settings.Categories.Add(cat);
         JArray channels = jCat["channels"] as JArray;
         List<VideoInfo> videos = new List<VideoInfo>();
         foreach (JToken channel in channels)
         {
             VideoInfo video = new VideoInfo();
             video.Thumb = channel.Value<string>("logo");
             video.Description = channel.Value<string>("description");
             video.Title = channel.Value<string>("title");
             video.VideoUrl = @"https://www.filmon.com/ajax/getChannelInfo";
             video.Other = String.Format(@"channel_id={0}&quality=low", channel.Value<string>("id"));
             videos.Add(video);
         }
         cat.Other = videos;
     }
     Settings.DynamicCategoriesDiscovered = true;
     return Settings.Categories.Count;
 }
Exemplo n.º 18
1
        private static WebResponse ExecuteHttpVerb(string url, string verbData, CookieContainer cookieContainer = null, string contentType = "application/x-www-form-urlencoded", string verb = "POST")
        {
            try
            {

                WebRequest request = WebRequest.Create(url);

                HttpWebRequest wr = request as HttpWebRequest;
                if (cookieContainer != null)
                    wr.CookieContainer = cookieContainer;
                wr.AllowAutoRedirect = false;
                request.Method = verb;
                wr.Proxy = null;
                wr.UserAgent = UserAgent;
                if (!string.IsNullOrEmpty(verbData))
                {
                    byte[] byteArray = Encoding.UTF8.GetBytes(verbData);
                    request.ContentType = contentType;
                    request.ContentLength = byteArray.Length;
                    Stream dataStream = request.GetRequestStream();
                    dataStream.Write(byteArray, 0, byteArray.Length);
                    dataStream.Close();
                }
                WebResponse response = request.GetResponse();

                return response;

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 19
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;
                }
            }
        }
Exemplo n.º 20
1
 public Meteor()
 {
     cookies = new Cookie();
     cookies.Domain = "http://www.meteor.ie";
     cookies.Name = "meteor";
     cookieContainer = new CookieContainer();
 }
Exemplo n.º 21
0
        public string PostMoths(string seriaNo)
        {
            string appId     = "wx5e9e01270444b4c9";
            string appSecret = "52deaa5c1c101b3a90197916e8dd2d82";
            string url       = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appId, appSecret);
            string error     = "";

            System.Net.CookieContainer cookie = null;
            string accessTokenJson            = HttpRun("GET", "utf-8", url, "", ref cookie, 5000, "", "", "", ref error);

            if (accessTokenJson.ToLower().IndexOf("errcode") != -1)
            {
                return("");
            }
            else
            {
                AccessTokenEntity obj  = Newtonsoft.Json.JsonConvert.DeserializeObject <AccessTokenEntity>(accessTokenJson); //获取 access_token
                string            _url = string.Format("https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token={0}", obj.access_token);

                string strURL = _url;
                System.Net.HttpWebRequest request;
                request             = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
                request.Method      = "POST";
                request.ContentType = "application/json;charset=UTF-8";

                string json    = "{\"scene\":\"" + seriaNo + "\",\"page\":\"pages/index/record_detail/record_detail\",\"width\":280,\"auto_color\":false,\"line_color\":{\"r\":\"26\",\"g\":\"173\",\"b\":\"25\"}}";
                byte[] payload = System.Text.Encoding.UTF8.GetBytes(json);
                request.ContentLength = payload.Length;
                Stream writer = request.GetRequestStream();
                writer.Write(payload, 0, payload.Length);
                writer.Close();
                System.Net.HttpWebResponse response;
                response = (System.Net.HttpWebResponse)request.GetResponse();
                System.IO.Stream s;
                s = response.GetResponseStream();
                List <byte> bytes = new List <byte>();
                int         temp  = s.ReadByte();
                while (temp != -1)
                {
                    bytes.Add((byte)temp);
                    temp = s.ReadByte();
                }
                byte[] tt = bytes.ToArray();

                string path    = HttpContext.Current.Server.MapPath("\\Upload\\");
                string curPath = DateTime.Now.ToString("yyyyMMdd") + "\\";

                if (Directory.Exists(path + curPath) == false)//如果不存在就创建file文件夹
                {
                    Directory.CreateDirectory(path + curPath);
                }

                Random Random       = new Random();
                int    Result       = Random.Next(1000, 9999);
                string EditFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + Result + ".jpg";
                string fileName     = path + curPath + EditFileName;
                System.IO.File.WriteAllBytes(fileName, tt);
                return("\\Upload\\" + curPath + EditFileName);
            }
        }
Exemplo n.º 22
0
        static void LoginStuff()
        {
            System.Net.CookieContainer myCookies = new System.Net.CookieContainer();
            string url = "https://www.twirpx.com/", referer = "";

            string mySrc = HttpMethods.Get(url, referer, ref myCookies);
            string token = GetBetween(mySrc, "name=\"__SART\" type=\"hidden\" value=\"", "\" />");

            token = WebUtility.UrlEncode(token);
            string username = "******";

            username = WebUtility.UrlEncode(username);
            string password = "******";

            password = WebUtility.UrlEncode(password);

            string postData = String.Format("ReturnUrl=/&AuthEmail={0}&AuthPassword={1}&__SART={2}", username, password, token);

            bool result = HttpMethods.Post(url + "auth/login/", postData, referer, myCookies);



            if (result)
            {
                Console.WriteLine(postData);
            }
            else
            {
                Console.WriteLine("Credentials are invalid");
            }

            Console.ReadKey();
        }
Exemplo n.º 23
0
        private void SetAuthenticationCookies(HttpClientHandler handler, ClientContext context)
        {
            context.Web.EnsureProperty(w => w.Url);
            //if (context.Credentials is SharePointOnlineCredentials spCred)
            //{
            //    handler.Credentials = context.Credentials;
            //    handler.CookieContainer.SetCookies(new Uri(context.Web.Url), spCred.GetAuthenticationCookie(new Uri(context.Web.Url)));
            //}
            //else if (context.Credentials == null)
            //{
            var cookieString         = CookieReader.GetCookie(context.Web.Url).Replace("; ", ",").Replace(";", ",");
            var authCookiesContainer = new System.Net.CookieContainer();
            // Get FedAuth and rtFa cookies issued by ADFS when accessing claims aware applications.
            // - or get the EdgeAccessCookie issued by the Web Application Proxy (WAP) when accessing non-claims aware applications (Kerberos).
            IEnumerable <string> authCookies = null;

            if (Regex.IsMatch(cookieString, "FedAuth", RegexOptions.IgnoreCase))
            {
                authCookies = cookieString.Split(',').Where(c => c.StartsWith("FedAuth", StringComparison.InvariantCultureIgnoreCase) || c.StartsWith("rtFa", StringComparison.InvariantCultureIgnoreCase));
            }
            else if (Regex.IsMatch(cookieString, "EdgeAccessCookie", RegexOptions.IgnoreCase))
            {
                authCookies = cookieString.Split(',').Where(c => c.StartsWith("EdgeAccessCookie", StringComparison.InvariantCultureIgnoreCase));
            }
            if (authCookies != null)
            {
                authCookiesContainer.SetCookies(new Uri(context.Web.Url), string.Join(",", authCookies));
            }
            handler.CookieContainer = authCookiesContainer;
            //}
        }
Exemplo n.º 24
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();
            }
        }
Exemplo n.º 25
0
        public override System.Net.WebResponse DoAction(string host, System.Net.CookieContainer cookie)
        {
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(host + "/xkAction.do");

            // 设置一些公用的请求头
            req.Timeout   = 5 * 1000;
            req.KeepAlive = true;
            NameValueCollection collection = new NameValueCollection();

            collection.Add("Accept-Language", "zh-CN,zh;q=0.8");
            collection.Add("Accept-Encoding", "gzip,deflate,sdch");
            collection.Add("Accept-Charset", "GBK,utf-8;q=0.7,*;q=0.3");
            collection.Add("Cache-Control", "max-age=0");


            req.Headers.Add(collection);
            req.CookieContainer = cookie;
            req.Referer         = host + "/xkAction.do";
            req.ServicePoint.Expect100Continue = false;

            req.ContentType = "application/x-www-form-urlencoded";
            req.Accept      = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            req.UserAgent   = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";

            req.ContentLength = ContentLength;
            req.Method        = HttpMethod;
            StreamWriter sw = new StreamWriter(req.GetRequestStream());

            sw.Write("kcId=" + CourseSerial + "_" + SequenceNo + "&preActionType=5&actionType=9");
            sw.Close();
            return(req.GetResponse());
        }
Exemplo n.º 26
0
        public override System.Net.WebResponse DoAction(string host, System.Net.CookieContainer cookie)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(host + "/logout.do");

            req.Timeout       = 5 * 1000;
            req.Method        = HttpMethod;
            req.ContentType   = "application/x-www-form-urlencoded";
            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("loginType=platformLogin");
            sw.Close();
            req.CookieContainer = cookie;
            //req.Headers.Add("Cookie",""); //使用已经保存的cookies 方法二
            try
            {
                return(req.GetResponse());
            }
            catch
            {
                throw;
            }
            finally
            {
                req.Abort();
            }
        }
Exemplo n.º 27
0
        //WeixinMessage
        public ActionResult WeixinMessage(MessageModel model)
        {
            string msgSend   = model.RequestMsg;//Request["txtMessage"];
            string resultStr = "";

            try
            {
                CookieContainer      cookies = new System.Net.CookieContainer();
                CookieAwareWebClient client  = new CookieAwareWebClient(cookies);
                client.Headers["Content-type"] = "application/xml; charset=utf-8";
                string xml    = WeiXinClientUtil.GetPostXmlToWeiXinGZH(msgSend);
                byte[] baData = Encoding.UTF8.GetBytes(xml);
                string url    = "http://localhost:15794/weixin/index";//"http://localhost/dp2weixin/weixin/index";//
                byte[] result = client.UploadData(url,
                                                  "POST",
                                                  baData);
                string strResult = Encoding.UTF8.GetString(result);
                resultStr = strResult;
            }
            catch (Exception ex)
            {
                resultStr = "Exception :" + ex.Message;
            }

            model.ResponseMsg = resultStr;
            return(View(model));
        }
Exemplo n.º 28
0
        /// <summary>
        /// https://servit.mijnknltb.nl/KNLTB/MSCrmServices/2007/CrmService.asmx
        /// </summary>
        /// <param name="cc"></param>
        public CrmService(System.Net.CookieContainer cc)
        {
            this.Url   = "https://servit.mijnknltb.nl/MSCrmServices/2007/CrmService.asmx";
            this.Proxy = null;

            if (this.IsLocalFileSystemWebService(this.Url))
            {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else
            {
                this.useDefaultCredentialsSetExplicitly = true;
            }

            this.CallerOriginTokenValue      = null;
            this.CorrelationTokenValue       = null;
            this.CrmAuthenticationTokenValue = new KNLTB.ServIt.CrmService.CrmAuthenticationToken {
                AuthenticationType = 0, OrganizationName = "KNLTB", CrmTicket = string.Empty, CallerId = new Guid("00000000-0000-0000-0000-000000000000")
            };
            this.CrmCookieContainer = cc;

            try
            {
                ExecuteAsync(new WhoAmIRequest());
            }
            catch (Exception ex)
            {
                string message = ex.Message;
            }
        }
Exemplo n.º 29
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);
        }
Exemplo n.º 30
0
        private void btnGet_Click(object sender, EventArgs e)
        {
            Random r = new Random();

            //初始化Cookie变量
            cc   = new System.Net.CookieContainer();
            item = new HttpItems();
            //get 主页
            item.URL       = "http://www.mp4ba.com";
            item.Cookie    = "__cfduid=123456789; search_state=1463675467;";
            item.UseUnsafe = true;
            hr             = http.GetHtml(item);

            string cookie = hr.Cookie;
            XJHTTP xjhttp = new XJHTTP();

            cc = xjhttp.AddCookieToContainer(cc, cookie);
            //get 验证码
            picurl         += r.NextDouble();
            item.URL        = picurl;
            item.Referer    = BaseUrl;
            item.ResultType = ResultType.Byte; //设置返回值类型
            hr = http.GetHtml(item);

            pic.Image = http.GetImg(hr);
        }
Exemplo n.º 31
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);
                    }
                }
            }
        }
Exemplo n.º 32
0
 public Stream GetStream(string url, System.Net.CookieContainer cookieContainer, string reference)
 {
     this.int_2++;
     try
     {
         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
         request.CookieContainer = cookieContainer;
         request.ContentType     = this.string_0;
         request.Referer         = reference;
         request.Accept          = this.string_1;
         request.UserAgent       = this.string_2;
         request.Method          = "GET";
         Stream responseStream = ((HttpWebResponse)request.GetResponse()).GetResponseStream();
         this.int_2 = 0;
         return(responseStream);
     }
     catch (Exception)
     {
         if (this.int_2 <= this.int_1)
         {
             new CookieCollection();
             this.GetHtml(url, cookieContainer, url);
         }
         this.int_2 = 0;
         return(null);
     }
 }
Exemplo n.º 33
0
        /// <summary>
        /// 通过 HttpRequest 对象,对指定 Url 发起 Get 请求,并返回响应文本
        /// </summary>
        /// <param name="url">请求 Url 地址</param>
        /// <param name="encoding">编码</param>
        /// <param name="timeoutSeconds">设置请求超时秒数,传入正整数有效,否则为默认值。默认值:0</param>
        /// <param name="action">处理Http请求</param>
        /// <returns>远程响应文本</returns>
        public static string Get(string url, Encoding encoding, int timeoutSeconds = 0, Action <HttpWebRequest> requestHandler = null)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                if (timeoutSeconds > 0)
                {
                    request.Timeout = 0x3e8 * timeoutSeconds;
                }
                request.Method            = "GET";
                request.AllowAutoRedirect = true;
                System.Net.CookieContainer c = new System.Net.CookieContainer();
                request.CookieContainer = c;
                if (requestHandler != null)
                {
                    requestHandler(request);
                }

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                StreamReader    reader   = new StreamReader(response.GetResponseStream(), encoding);
                return(reader.ReadToEnd());
            }
            catch (System.Net.WebException ex)
            {
                return("404");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Exemplo n.º 34
0
        /// <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,
                });
            }
        }
Exemplo n.º 35
0
        private void button2_Click(object sender, EventArgs e)
        {
            string guid = System.Guid.NewGuid().ToString();

            textBox1.Text = "sid = " + guid + "\r\n";
            string account = "ourstoryzj";
            string pwd     = "zhangjian";
            string sign    = (account + pwd + guid).ToMd5();

            textBox1.Text += "sign = " + sign + "\r\n";
            textBox1.Text += "用户名 = " + account + "\r\n";


            string url = "http://www.10000kb.cn/API/GetKd";

            string datastr = "{\"sign\":\"" + sign + "\",\"sid\":\"" + guid + "\",\"username\":\"" + account + "\"}";

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

            string res = Common.WebService.SendDataByPost(url, datastr, ref cookie);

            textBox1.Text += "返回结果 = " + res + "\r\n";

            textBox1.Text += "Md5 = " + (account + pwd + guid).ToMD5() + "\r\n";
        }
Exemplo n.º 36
0
 public string GetHtml(string url, System.Net.CookieContainer cookieContainer, string reference)
 {
     this.int_2++;
     try
     {
         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
         request.CookieContainer = cookieContainer;
         request.ContentType     = this.string_0;
         request.Referer         = reference;
         request.Accept          = this.string_1;
         request.UserAgent       = this.string_2;
         request.Method          = "GET";
         Stream       responseStream = ((HttpWebResponse)request.GetResponse()).GetResponseStream();
         StreamReader reader         = new StreamReader(responseStream, this.encoding_0);
         string       str            = reader.ReadToEnd();
         reader.Close();
         responseStream.Close();
         this.int_2 = 0;
         return(str);
     }
     catch (Exception)
     {
         if (this.int_2 <= this.int_1)
         {
             this.GetHtml(url, cookieContainer, reference);
         }
         this.int_2 = 0;
         return(string.Empty);
     }
 }
Exemplo n.º 37
0
        HttpAbfrage(String Ziel, HttpContent content)
        {
           
            //################################################################################################

            var httpClient = new HttpClient();      // Neue httpClient instanz

            //##################################################################################################
            // mit Cockies aber nicht zu ende Programmiert weil wir keine Cockies nutzen 

            CookieContainer cookie = new CookieContainer();             // Cockie Container Construcktor
            HttpClientHandler handler = new HttpClientHandler()         // nutze beim zugriff cockies
            {
            };
            HttpClient client = new HttpClient(handler as HttpMessageHandler) // neuer http client
            {
                BaseAddress = new Uri(GlobalData.Uri2 + Ziel + GlobalData.SessionID)     // hier wird auch gleich die Session an das ziel angehangen                                        // url aus uri 2 nutzen test2.php
            };
            handler.UseCookies = false;                                        // beim zugriff cockies nicht zulassen
            handler.UseDefaultCredentials = false;

            //#################################################################################################
            // Jetzt mit POST
            // Schritt 4 Abfrage abschicken und ergebnis entgegennehmen 
            HttpResponseMessage response = await httpClient.PostAsync(client.BaseAddress, content); // schicke die abfrage an die Url , dann warte bis antwort komplett und speicher erst mal alles
            GlobalData.HttpResponse = await response.Content.ReadAsStringAsync();
           // MessageDialog msgboxRespons = new MessageDialog(GlobalData.HttpResponse);
           // await msgboxRespons.ShowAsync();        // Zeige mir an was angekommen ist 
            return GlobalData.HttpResponse;
        }
Exemplo n.º 38
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":
        }
Exemplo n.º 39
0
		// Constructors
		
		internal HttpWebResponse (Uri uri, string method, WebConnectionData data, CookieContainer container)
		{
			this.uri = uri;
			this.method = method;
			webHeaders = data.Headers;
			version = data.Version;
			statusCode = (HttpStatusCode) data.StatusCode;
			statusDescription = data.StatusDescription;
			stream = data.stream;
			contentLength = -1;

			try {
				string cl = webHeaders ["Content-Length"];
				if (String.IsNullOrEmpty (cl) || !Int64.TryParse (cl, out contentLength))
					contentLength = -1;
			} catch (Exception) {
				contentLength = -1;
			}

			if (container != null) {
				this.cookie_container = container;	
				FillCookies ();
			}

			string content_encoding = webHeaders ["Content-Encoding"];
			if (content_encoding == "gzip" && (data.request.AutomaticDecompression & DecompressionMethods.GZip) != 0)
				stream = new GZipStream (stream, CompressionMode.Decompress);
			else if (content_encoding == "deflate" && (data.request.AutomaticDecompression & DecompressionMethods.Deflate) != 0)
				stream = new DeflateStream (stream, CompressionMode.Decompress);
		}
Exemplo n.º 40
0
        public static string RequestArticleReplies(string ci_t, string galleryID, int articleId, int pages, ref CookieContainer cookies)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(defaultCommentURL);

            if (cookies == null)
                cookies = new CookieContainer();
            req.CookieContainer = cookies;
            req.UserAgent = userAgent;
            req.Proxy = null;
            req.Method = "POST";
            req.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
            req.Referer = defaultArticleURL + "?id=" + galleryID + "&no=" + articleId;
            req.Headers.Add("X-Requested-With", "XMLHttpRequest");
            req.UserAgent = userAgent;

            StringBuilder data = new StringBuilder();
            data.Append(HttpUtility.UrlEncode("ci_t"));
            data.Append("=");
            data.Append(HttpUtility.UrlEncode(ci_t));
            data.Append("&");
            data.Append(HttpUtility.UrlEncode("id"));
            data.Append("=");
            data.Append(HttpUtility.UrlEncode(galleryID));
            data.Append("&");
            data.Append(HttpUtility.UrlEncode("no"));
            data.Append("=");
            data.Append(HttpUtility.UrlEncode(articleId.ToString()));
            data.Append("&");
            data.Append(HttpUtility.UrlEncode("comment_page"));
            data.Append("=");
            data.Append(HttpUtility.UrlEncode(pages.ToString()));

            req.ContentLength = data.Length;

            Stream postStream = req.GetRequestStream();
            postStream.Write(Encoding.UTF8.GetBytes(data.ToString()), 0, data.Length);
            postStream.Flush();
            postStream.Close();

            using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
            {
                if (res.StatusCode == HttpStatusCode.OK)
                {
                    Stream responseStream = res.GetResponseStream();
                    StreamReader resReader = new StreamReader(responseStream);

                    string response = "";
                    response = resReader.ReadToEnd();

                    resReader.Close();
                    responseStream.Close();

                    return response;
                }
                else
                {
                    throw new Exception("웹페이지와 통신할 수 없습니다.");
                }
            }
        }
Exemplo n.º 41
0
        // 通过GET获取页面数据
        public static string RequestHttpGetWithCookie(string url, CookieContainer cc)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.CookieContainer = new CookieContainer();
            var cookies = GetAllCookies(cc);
            foreach (var cookie in cookies)
            {
                req.CookieContainer.Add(new Uri(url), new Cookie(cookie.Name, cookie.Value));
            }

            req.Method = "get";
            //req.Referer = "http://weibo.com/box?leftnav=1&wvr=5";
            req.KeepAlive = true;
            req.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36";
            //req.Headers.Add("Accept-Encoding", "gzip,deflate,sdch");
            req.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8");

            //接收响应
            req.Timeout = 10 * 1000;
            HttpWebResponse response = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("utf-8"));
            string content = sr.ReadToEnd();
            content = decodeUnicode(content);
            response.Close();

            return content;
        }
Exemplo n.º 42
0
        public string RecuperarTipoSeguridadYNombreDeDominio(System.Net.CookieContainer cokie)
        {
            FInicioSesion facIniSec = new FInicioSesion();

            string strNombreDominio = "";
            string strDominioMixto  = "";

            //Recupera de la BD.
            strNombreDominio = facIniSec.RecuperarNombreDominio(cokie);

            if (strNombreDominio == Constantes.SeguridadNODefinida)
            {
                return("(***Seguridad No Definida***)");
            }

            if (strNombreDominio.Trim().Equals("*"))
            {
                return("(Seguridad de CIPOL)");
            }

            //if (strNombreDominio.PadRight(1) == "*")
            if (strNombreDominio.Substring((strNombreDominio.Length - 1), 1) == "*")
            {
                strDominioMixto  = " (Seguridad Mixta: ";
                strNombreDominio = strNombreDominio.Replace("*", "");
            }
            else
            {
                strDominioMixto = " (Seguridad Integrada al Dominio: ";
            }

            return(strDominioMixto + strNombreDominio + ")");
        }
Exemplo n.º 43
0
        public static string RequestGalleryArticle(string gallid, int articleId, ref CookieContainer cookies)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(defaultArticleURL + "?id=" + gallid + "&no=" + articleId);

            if (cookies == null)
                cookies = new CookieContainer();
            req.CookieContainer = cookies;
            req.UserAgent = userAgent;
            req.Proxy = null;
            req.Method = "GET";

            using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
            {
                if (res.StatusCode == HttpStatusCode.OK)
                {
                    Stream responseStream = res.GetResponseStream();
                    StreamReader resReader = new StreamReader(responseStream);

                    string response = "";
                    response = resReader.ReadToEnd();

                    resReader.Close();
                    responseStream.Close();

                    return response;
                }
                else
                {
                    throw new Exception("웹페이지와 통신할 수 없습니다.");
                }
            }
        }
Exemplo n.º 44
0
        /// <summary>
        /// Gets the URI cookie container.
        /// </summary>
        /// <param name="uri">The URI.</param>
        /// <returns></returns>
        public static System.Net.CookieContainer GetUriCookieContainer(Uri uri)
        {
            System.Net.CookieContainer cookies = null;
            // Determine the size of the cookie
            int           datasize   = 8192 * 16;
            StringBuilder cookieData = new StringBuilder(datasize);

            if (!InternetGetCookieEx(uri.ToString(), null, cookieData, ref datasize, InternetCookieHttponly, IntPtr.Zero))
            {
                if (datasize < 0)
                {
                    return(null);
                }
                // Allocate stringbuilder large enough to hold the cookie
                cookieData = new StringBuilder(datasize);
                if (!InternetGetCookieEx(
                        uri.ToString(),
                        null, cookieData,
                        ref datasize,
                        InternetCookieHttponly,
                        IntPtr.Zero))
                {
                    return(null);
                }
            }
            if (cookieData.Length > 0)
            {
                cookies = new System.Net.CookieContainer();
                cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));
            }
            return(cookies);
        }
Exemplo n.º 45
0
        // This function returns cookie data based on a uniform resource identifier
        public static CookieContainer GetUriCookieContainer(Uri uri)
        {
            // First, create a null cookie container
              CookieContainer cookies = null;

              // Determine the size of the cookie
              var datasize = 8192 * 16;
              var cookieData = new StringBuilder(datasize);

              // Call InternetGetCookieEx from wininet.dll
              if (!InternetGetCookieEx(uri.ToString(), null, cookieData, ref datasize, InternetCookieHttponly, IntPtr.Zero))
              {
            if (datasize < 0)
              return null;
            // Allocate stringbuilder large enough to hold the cookie
            cookieData = new StringBuilder(datasize);
            if (!InternetGetCookieEx(
            uri.ToString(),
            null, cookieData,
            ref datasize,
            InternetCookieHttponly,
            IntPtr.Zero))
              return null;
              }

              // If the cookie contains data, add it to the cookie container
              if (cookieData.Length > 0)
              {
            cookies = new CookieContainer();
            cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));
              }

              // Return the cookie container
              return cookies;
        }
Exemplo n.º 46
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Request.ContentLength > 0)
     {
         string result = "";
         try
         {
             var             requestData = Request.BinaryRead((int)Request.ContentLength);
             WebClientMyself client      = new WebClientMyself();
             client.Encoding = Encoding.UTF8;
             System.Net.CookieContainer cc = new System.Net.CookieContainer();
             result = client.Post("http://cms.niuwan.cc/passport.aspx", requestData, ref cc);
             List <Cookie> ccList = GetAllCookies(cc);
             Cookie        ck     = ccList.Where(t => t.Name == "userCert").FirstOrDefault();
             if (ck != null)
             {
                 Response.Cookies.Add(new HttpCookie(ck.Name, ck.Value)
                 {
                     Domain = ck.Domain, Expires = ck.Expires
                 });
             }
         }
         catch (Exception ex)
         {
             nwbase_utils.TextLog.Default.Error("PasswdCheck_Error:" + ex.Message);
         }
         Response.Write(result);
         Response.End();
     }
 }
Exemplo n.º 47
0
        /// <summary>
        /// Unrestrict a link
        /// </summary>
        /// <param name="uri">link to unrestrict</param>
        /// <returns>a premium link</returns>
        public override async Task<IPremiumLink> Unrestrict(string uri)
        {
            var realDebridBaseAddress = new Uri("https://www.real-debrid.com/ajax/");
            var cookieContainer = CookieContainer;
            if (cookieContainer == null)
            {
                cookieContainer = new CookieContainer();
                CookieContainer = cookieContainer;
            }

            using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
            {
                var httpClient = new HttpClient(handler) { BaseAddress = realDebridBaseAddress };
                httpClient.DefaultRequestHeaders.ExpectContinue = false;
                var cookie = cookieContainer.GetCookies(realDebridBaseAddress)["auth"];
                if (cookie == null || cookie.Expired)
                {
                    var result = await GetResult(await httpClient.GetAsync(String.Format("login.php?user={0}&pass={1}", Uri.EscapeUriString(Username), MD5.GetHashString(Password).ToLower())));
                    cookie = cookieContainer.GetCookies(realDebridBaseAddress)["auth"];
                }

                if (cookie != null && !cookie.Expired)
                {
                    return await GetResult(await httpClient.GetAsync(String.Format("unrestrict.php?link={0}", Uri.EscapeUriString(uri))));
                }
            }
            return null;
        }
Exemplo n.º 48
0
        public static async Task <byte[]> DownloadFileAsync(string absoluteUrl, System.Net.CookieContainer cookiecontainer = null, string contenttype = null)
        {
            if (contenttype != null)
            {
                contenttype = contenttype.ToLower();
            }

            var download = await DownloadUrlAsync(absoluteUrl, cookiecontainer);

            if (download == null)
            {
                return(null);
            }

            if (!string.IsNullOrEmpty(contenttype))
            {
                if (download.ContentType != null && download.ContentType.ToLower().Contains(contenttype))
                {
                    if (download.DataBytes != null)
                    {
                        return(download.DataBytes);
                    }
                }
                else
                {
                    return(new byte[0]);
                }
            }
            else
            {
                return(download.DataBytes);
            }
            return(null);
        }
Exemplo n.º 49
0
        /// <summary>
        /// Constructor for the SQLiteContext
        /// </summary>
        /// <param name="schema">The OfflineSchema that specifies the set of the collections.</param>
        /// <param name="scopeName">The scope name used to identify the scope on the service.</param>
        /// <param name="databasePath">Name of the database used to store entities.</param>
        /// <param name="uri">Uri of the scope.  Used to intialize the CacheController.</param>
        /// <param name="cookieContainer"></param>
        /// <param name="uploadBatchSize">If set, determines that the upload should be batched and the maximum number of rows to send in one batch (row count - not KB!)</param>
        /// <remarks>
        /// If the Uri specified is different from the one that is stored in the cache path, the
        /// Load method will throw an InvalidOperationException.
        /// 1/11/2015 Added an optional parameter to allow setting cookies
        /// </remarks>
        public SQLiteContext(OfflineSchema schema, string scopeName, string databasePath, Uri uri, CookieContainer cookieContainer = null, int uploadBatchSize = -1)
        {
            if (schema == null)
            {
                throw new ArgumentNullException("schema");
            }

            if (string.IsNullOrEmpty(scopeName))
            {
                throw new ArgumentNullException("scopeName");
            }

            if (string.IsNullOrEmpty(databasePath))
            {
                throw new ArgumentNullException("databasePath");
            }

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

            this.isDisposed = false;
            this.schema     = schema;
            this.scopeUri   = uri;
            this.scopeName  = scopeName;
            // set cookiecontainer
            this.cookieContainer = cookieContainer;
            this.uploadBatchSize = uploadBatchSize;
            this.databaseName    = databasePath;

            bool   isPath    = databasePath.Contains('/') || databasePath.Contains('\\');
            string localPath = databaseName;

            // allow to explicitly specify full path - relevant e.g. for unittests
            if (isPath)
            {
                this.databaseName = Path.GetFileName(databaseName);
            }
            else
            {
#if (WINDOWS_PHONE || NETFX_CORE)
                localPath = Path.Combine(ApplicationData.Current.LocalFolder.Path, databaseName);
#elif (__ANDROID__)
                localPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), databaseName);
#elif (NET)
                localPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), databaseName);
#elif (__IOS__)
                // we need to put in /Library/ on iOS5.1 to meet Apple's iCloud terms
                // (they don't want non-user-generated data in Documents)
                string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                // Documents folder
                string libraryPath = Path.Combine(documentsPath, "..", "Library");
                localPath = Path.Combine(libraryPath, databaseName);
#endif
            }

            this.Manager = new SQLiteManager(schema, localPath);
            this.CreateCacheController();
        }
Exemplo n.º 50
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;
        }
Exemplo n.º 51
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;
        }
Exemplo n.º 52
0
        public static string HttpGetHTML(string uri, System.Text.Encoding code, System.Net.CookieContainer cotainer, HttpWebRequestInitiator initiator)
        {
            if (string.IsNullOrEmpty(uri))
            {
                return("");
            }
            if (uri.ToLower().StartsWith(@"//"))
            {
                uri = "http:" + uri;
            }

            if (uri.ToLower().IndexOf("http") == -1)
            {
                uri = "http://" + uri;
            }

            StreamReader sr = null;

            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
                request.Headers.Add("UA-CPU", "x86");
                request.Referer         = uri;
                request.UserAgent       = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727;)";
                request.KeepAlive       = false;
                request.CookieContainer = cotainer;
                request.Timeout         = 20000; //设置远程页面请求超时时间

                if (initiator != null)
                {
                    initiator(request);
                }

                HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse();
                if (myResponse.StatusCode == HttpStatusCode.OK)
                {
                    sr = new StreamReader(myResponse.GetResponseStream(), code);
                    string serverResponse = sr.ReadToEnd().Trim();
                    return(serverResponse);
                }
                else
                {
                    return("失败:Status:" + myResponse.StatusCode.ToString());
                }
            }
            catch (Exception ex)
            {
                return("失败:ex:" + ex.ToString());
            }
            finally
            {
                if (sr != null)
                {
                    sr.Close();
                    sr.Dispose();
                }
            }
        }
Exemplo n.º 53
0
        public void LoginAsync(string username, string password, ref System.Net.CookieContainer cookies)
        {
            Console.WriteLine("Login GitHub");
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://www.livecoding.tv/accounts/github/login");

            request.UserAgent       = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)";
            request.CookieContainer = cookies;
            request.BeginGetResponse(EndGetResponse, new object[] { request, username, password, cookies });
        }
Exemplo n.º 54
0
 internal HttpWebClientProtocol(HttpWebClientProtocol protocol) : base(protocol)
 {
     this.allowAutoRedirect   = protocol.allowAutoRedirect;
     this.enableDecompression = protocol.enableDecompression;
     this.cookieJar           = protocol.cookieJar;
     this.clientCertificates  = protocol.clientCertificates;
     this.proxy     = protocol.proxy;
     this.userAgent = protocol.userAgent;
 }
Exemplo n.º 55
0
 public HttpHelper(System.Net.CookieContainer cc)
 {
     this.contentType = "application/x-www-form-urlencoded; charset=UTF-8";
     this.accept      = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
     this.userAgent   = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1) Gecko/20090624 Firefox/3.5";
     this.encoding    = System.Text.Encoding.GetEncoding("utf-8");
     this.connectTimeOutRetryTryMaxTimes = 2;
     this.cc = cc;
 }
Exemplo n.º 56
0
        public static void Test_Handeco_Load_WebRequest_01()
        {
            string outputFile = @"test\handeco.html";

            string url = "http://www.handeco.org/fournisseurs/rechercher";

            string content = "raisonSociale=&SIRET=&departements%5B%5D=03&experience_cotraitance=0&motsCles=&submitRecherche=Rechercher";
            //string cookies = "PHPSESSID=572851556c8b3b2ef74692a0b1de6675; __utma=140104362.2125206869.1396505609.1396505609.1396505609.1; __utmc=140104362; __utmz=140104362.1396505609.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)";
            string cookies   = "PHPSESSID=572851556c8b3b2ef74692a0b1de6675; __utma=140104362.2125206869.1396505609.1396520128.1396528821.5; __utmb=140104362.1.10.1396528821; __utmc=140104362; __utmz=140104362.1396505609.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)";
            string userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 CoolNovo/2.0.9.20";

            System.Net.WebRequest     webRequest     = System.Net.WebRequest.Create(url);
            System.Net.HttpWebRequest httpWebRequest = webRequest as System.Net.HttpWebRequest;
            httpWebRequest.ServicePoint.Expect100Continue = false;

            httpWebRequest.UserAgent = userAgent;
            //httpWebRequest.AutomaticDecompression = System.Net.DecompressionMethods.GZip;

            httpWebRequest.Method  = "POST";
            httpWebRequest.Accept  = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            httpWebRequest.Referer = "http://www.handeco.org/fournisseurs/rechercher";
            //httpWebRequest.Headers.Add(_requestParameters.headers);
            System.Net.CookieContainer cookieContainer = new System.Net.CookieContainer();
            cookieContainer.zAdd(url, cookies);
            httpWebRequest.CookieContainer = cookieContainer;
            // Content-Type: application/x-www-form-urlencoded
            httpWebRequest.ContentType = "application/x-www-form-urlencoded";
            Encoding encoding = Encoding.Default;

            byte[] bytes = encoding.GetBytes(content);
            httpWebRequest.ContentLength = bytes.LongLength;
            System.IO.Stream stream = httpWebRequest.GetRequestStream();
            using (System.IO.BinaryWriter w = new System.IO.BinaryWriter(stream))
            {
                w.Write(bytes);
            }
            System.Net.WebResponse webResponse = webRequest.GetResponse();
            stream = webResponse.GetResponseStream();

            System.IO.StreamReader webStream = new System.IO.StreamReader(stream, encoding);
            string textResult = webStream.ReadToEnd();

            outputFile = GetPath(outputFile);
            zfile.WriteFile(outputFile, textResult);

            // Connection: keep-alive
            httpWebRequest.KeepAlive = true;

            // Cache-Control: max-age=0
            // Origin: http://www.handeco.org
            // Accept-Encoding: gzip,deflate,sdch
            // Accept-Language: fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4

            //httpWebRequest.CachePolicy
            //httpWebRequest.Headers
            //httpWebRequest.Host
        }
Exemplo n.º 57
0
 public BeanfunClient()
 {
     this.CookieContainer = new System.Net.CookieContainer();
     this.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36");
     this.ResponseUri = null;
     this.errmsg      = null;
     this.webtoken    = null;
     this.accountList = new List <AccountList>();
     this.Encoding    = Encoding.UTF8;
 }
Exemplo n.º 58
0
        // ----------------------------------------------------------------------------------------------------------------------------------------

        // Constructor
        public Synthesize()
        {
            var cookieContainer = new System.Net.CookieContainer();

            Handler = new HttpClientHandler()
            {
                CookieContainer = new CookieContainer(), UseProxy = false
            };
            Client = new HttpClient(Handler);
        }
Exemplo n.º 59
0
 public BeanfunClient()
 {
     this.redirect        = true;
     this.CookieContainer = new System.Net.CookieContainer();
     this.Headers.Set("User-Agent", userAgent);
     this.ResponseUri = null;
     this.errmsg      = null;
     this.webtoken    = null;
     this.accountList = new List <AccountList>();
 }
Exemplo n.º 60
-1
        /// <summary>
        /// Fetches the <see cref="scrape"/> after logging into the <see cref="url"/> with the specified <see cref="postdata"/>
        /// </summary>
        /// <param name="url">The URL to login at </param>
        /// <param name="postdata">The postdata to login with.</param>
        /// <param name="scrape">The page to scrape.</param>
        /// <returns>The fetched page</returns>
        private string GetPage(string url, string postdata, string scrape)
        {
            req = WebRequest.Create(url) as HttpWebRequest;
            CookieContainer cookies = new CookieContainer();
            req.ContentType = "application/x-www-form-urlencoded";
            req.Method = "POST";
            req.CookieContainer = cookies;

            StreamWriter requestWriter = new StreamWriter(req.GetRequestStream());
            requestWriter.Write(postdata);
            requestWriter.Close();

            req.GetResponse();
            cookies = req.CookieContainer;

            req = WebRequest.Create(scrape) as HttpWebRequest;
            req.CookieContainer = cookies;

            StreamReader responseReader = new StreamReader(req.GetResponse().GetResponseStream());

            string response = responseReader.ReadToEnd();
            responseReader.Close();

            return response;
        }