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; }
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; }
/// <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; } }
/// <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; }
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; } }
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; }
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> /// 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); }
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; }
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; }
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; }
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; } }
/// <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; } } }
public Meteor() { cookies = new Cookie(); cookies.Domain = "http://www.meteor.ie"; cookies.Name = "meteor"; cookieContainer = new CookieContainer(); }
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); } }
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(); }
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; //} }
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(); } }
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()); }
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(); } }
//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)); }
/// <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; } }
static HttpWebRequest HttpMakeRequest(string url, string referer, System.Net.CookieContainer cookie = null) { ServicePointManager.ServerCertificateValidationCallback = OnRemoteCertificateValidationCallback; ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2 string UserAgent = GenUserAgent(); //"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //自動プロキシ検出を利用しない. //こちらの方が早くなります. request.Proxy = null; //貴方の好きなUAを使ってね。 request.UserAgent = UserAgent; request.Credentials = CredentialCache.DefaultCredentials; request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; if (referer != "") { request.Referer = referer; } if (cookie != null) { request.CookieContainer = new System.Net.CookieContainer(); request.CookieContainer.Add(cookie.GetCookies(request.RequestUri)); } return(request); }
private 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); }
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); } } } }
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); } }
/// <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()); } }
/// <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, }); } }
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"; }
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); } }
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; }
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": }
// 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); }
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("웹페이지와 통신할 수 없습니다."); } } }
// 通过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; }
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 + ")"); }
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("웹페이지와 통신할 수 없습니다."); } } }
/// <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); }
// 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; }
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(); } }
/// <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; }
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); }
/// <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(); }
public override Dictionary<string, string> GetPlaybackOptions(string url) { Dictionary<string, string> playbackOptions = new Dictionary<string, string>(); CookieContainer cc = new CookieContainer(); string data = GetWebData(url, cookies: cc, cache: false); Regex rgx = new Regex(@"""metadataUrl"":""(?<url>[^""]*)"); Match m = rgx.Match(data); if (m.Success) { JObject json = GetWebData<JObject>(m.Groups["url"].Value, cookies: cc, cache: false); JToken videos = json["videos"]; if (videos != null) { foreach(JToken video in videos) { string key = video["key"].Value<string>(); string videoUrl = video["url"].Value<string>(); MPUrlSourceFilter.HttpUrl httpUrl = new MPUrlSourceFilter.HttpUrl(videoUrl); CookieCollection cookies = cc.GetCookies(new Uri("http://my.mail.ru")); httpUrl.Cookies.Add(cookies); playbackOptions.Add(key, httpUrl.ToString()); } } } playbackOptions = playbackOptions.OrderByDescending((p) => { string resKey = p.Key.Replace("p",""); int parsedRes = 0; int.TryParse(resKey, out parsedRes); return parsedRes; }).ToDictionary(kvp => kvp.Key, kvp => kvp.Value); return playbackOptions; }
public 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; }
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(); } } }
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 }); }
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; }
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; }
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 }
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; }
// ---------------------------------------------------------------------------------------------------------------------------------------- // Constructor public Synthesize() { var cookieContainer = new System.Net.CookieContainer(); Handler = new HttpClientHandler() { CookieContainer = new CookieContainer(), UseProxy = false }; Client = new HttpClient(Handler); }
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>(); }
/// <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; }