标题 | 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(); } } } } |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。