zoukankan      html  css  js  c++  java
  • 模拟登录实现服务器功能

         private static CookieContainer m_Cookie = new CookieContainer(); //记录浏览器session
            /// <summary>
            /// 删除服务器文件
            /// </summary>
            /// <param name="MD5">上传文件时返回的MD5</param>
            public void deleServerFile(string MD5, string firmId)
            {
                //由于文件重复上传只会生成一份根文件,做处理如果存在在用文件人员大于1就不删除服务器数据
                var modelList = _kfile.GetListByMD5(MD5, firmId);
                if (modelList.Count <= 1)//服务器文件只有一分的话就删除掉
                {
                    //模拟登录缓存Cookie
                    m_Cookie = new CookieContainer();
                    string loginUrl = Tools.CommonBaseData.KnowLedgebaseLogin;
                    var arrLogin = loginUrl.Split(',');
                    string strUrl = arrLogin[0];
                    string json = "";
                    json = SendPostHttpRequest(strUrl, "application/x-www-form-urlencoded", "" + arrLogin[1] + "&" + arrLogin[2] + "");
                    string s1 = json;
                    //删除服务器文件
                    strUrl = Tools.CommonBaseData.KnowLedgebaseDeleteFile;
                    json = SendPostHttpRequest(strUrl, "application/x-www-form-urlencoded", "md5=" + MD5 + "");//&jsession=cfcd208495d565ef66e7dff9f98764da
                    string s2 = json;
                }
            }
            /// <summary>
            /// 发送请求
            /// </summary>
            /// <param name="url">Url地址</param>
            /// <param name="method">方法(post或get)</param>
            /// <param name="method">数据类型</param>
            /// <param name="requestData">数据</param>
            public string SendPostHttpRequest(string url, string contentType, string requestData)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                if (m_Cookie != null)
                {
                    request.CookieContainer = m_Cookie;
                }
    
    
                request.Method = "POST";
                byte[] postBytes = null;
                request.ContentType = contentType;
                postBytes = Encoding.UTF8.GetBytes(requestData);
                request.ContentLength = postBytes.Length;
                using (Stream outstream = request.GetRequestStream())
                {
                    outstream.Write(postBytes, 0, postBytes.Length);
                }
                string result = string.Empty;
                using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                {
                    if (m_Cookie == null)
                    {
                        response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
                        CookieCollection cook;
                        cook = response.Cookies;
                        m_Cookie.Add(cook);
                    }
    
    
                    if (response != null)
                    {
                        using (Stream stream = response.GetResponseStream())
                        {
                            using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                            {
                                result = reader.ReadToEnd();
                            }
                        }
                    }
                }
                return result;
            }
    

      

    再三须慎意,第一莫欺心
  • 相关阅读:
    谁是你随时可以说话的人
    我们在帝都这么拼,为的是什么?
    CVE-2016-4758: UXSS in Safari's showModalDialog
    JSON-SCHEMA
    JS城市data
    linux(centos )mongodb install
    python pip install
    基于chrome内核的UXSS
    Trying to hack Redis via HTTP requests
    Apache Solr 访问权限控制
  • 原文地址:https://www.cnblogs.com/otsf/p/12955007.html
Copyright © 2011-2022 走看看