标题 | WEB项目后端跨域请求 |
内容 | using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Web; using System.Web.SessionState; namespace GL { public class CrossDomainHandler:IHttpModule, IRequiresSessionState { /// /// 释放内存 /// public void Dispose() { } /// /// 开始请求 /// /// public void Init(HttpApplication context) { //页面开始请求时,绑定时间 context.BeginRequest += new EventHandler(context_PreRequestHandlerExecute); } /// /// 请求处理 /// /// /// void context_PreRequestHandlerExecute(object sender, EventArgs e) { HttpApplication app = (HttpApplication)sender; HttpContext context = app.Context; context.Response.AppendHeader("charset", "utf-8"); context.Response.AppendHeader("defaultCharset", "utf-8"); context.Response.AppendHeader("Content-Type", "text/html; charset=utf-8"); var relativeAddr = context.Request.AppRelativeCurrentExecutionFilePath.Remove(0, 2); if (relativeAddr.StartsWith("Server")) { var url = string.Concat("", relativeAddr.Substring(relativeAddr.IndexOf('/'))); HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; var rs = request.GetRequestStream(); var sb = new StringBuilder("a=a&"); context.Request.Form.AllKeys.ToList().ForEach(name => { sb.AppendFormat("{0}={1}&", name, context.Request.Form[name]); }); var str = sb.ToString(); if(str.Contains('&')) { str = str.Substring(0, str.Length - 1); } var sw = new StreamWriter(rs, Encoding.UTF8); sw.Write(sb.ToString()); sw.Close(); request.Timeout = 60 * 1000; var response = request.GetResponse() as HttpWebResponse; var ps = response.GetResponseStream(); var reader = new StreamReader(ps, Encoding.UTF8); string html = reader.ReadToEnd(); ps.Close(); context.Response.Write(html); context.Response.End(); } } } } |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。