Maison > php教程 > php手册 > le corps du texte

WEB项目后端跨域请求

WBOY
Libérer: 2016-06-13 09:16:16
original
987 Les gens l'ont consulté

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("http://localhost:89", 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();

  }

  }

  }

  }

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal