/// <summary> /// 获取使用系统应用的Session /// </summary> /// <param name="AppConfig"></param> /// <returns></returns> public string GetAppSession(WJ_V_AppConfig AppConfig) { var content = string.Format("UserAccount={0}&Password={1}", AppConfig.LoginName, AppConfig.Password);//登录名和密码 var buf = Encoding.UTF8.GetBytes(content); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(AppConfig.App_LoginUrl);//访问登录页 request.Method = AppConfig.App_Method; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = buf.Length; request.CookieContainer = new CookieContainer(); //res.CookieContainer = cookies; //向提交流中写入信息 var writeStream = request.GetRequestStream(); writeStream.Write(buf, 0, buf.Length); writeStream.Close(); writeStream.Dispose(); HttpWebResponse response = request.GetResponse() as HttpWebResponse;//此句完成登录,无此句无法得到cookie Stream stream = response.GetResponseStream(); StreamReader resStream = new StreamReader(stream, Encoding.UTF8); resStream.Close(); resStream.Dispose(); request.Abort(); return(request.Headers.GetValues("Cookie")[0]); }
/// <summary> /// /// </summary> /// <param name="AppConfig"></param> /// <returns></returns> public string GetHttpData(WJ_V_AppConfig AppConfig) { var postUrl = AppConfig.AppConfig_Url; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(postUrl);//具体session才能访问的页 //request.ContentType = "application/x-www-form-urlencoded"; string session = AppSessionDict[AppConfig.AppId + "_" + AppConfig.LoginName]; if (AppConfig.App_Method.ToUpper() == "GET") { request = (HttpWebRequest)HttpWebRequest.Create(AppConfig.AppConfig_Url + "?" + AppConfig.AppConfig_Parameter);//访问登录页 request.Method = AppConfig.App_Method; request.Headers.Add("Cookie", session); } else { var buf = Encoding.UTF8.GetBytes(AppConfig.AppConfig_Parameter); request = (HttpWebRequest)HttpWebRequest.Create(AppConfig.AppConfig_Url);//访问登录页 request.Method = AppConfig.App_Method; request.Headers.Add("Cookie", session); request.ContentLength = buf.Length; //向提交流中写入信息 var writeStream = request.GetRequestStream(); writeStream.Write(buf, 0, buf.Length); writeStream.Close(); writeStream.Dispose(); } var resStream = new StreamReader(request.GetResponse().GetResponseStream()); //取到返回值 string result = resStream.ReadToEnd(); //显示返回值 resStream.Close(); resStream.Dispose(); request.Abort(); return(result); }