ホームページ >php教程 >php手册 >Ajax クロスドメイン アクセス プロキシ ファイルのダウンロード (asp、php、asp.net)

Ajax クロスドメイン アクセス プロキシ ファイルのダウンロード (asp、php、asp.net)

WBOY
WBOYオリジナル
2016-06-14 00:02:46995ブラウズ
最近、何かに取り組んでいたときに、Ajax クロスドメイン アクセスの問題に遭遇しました。最終的に、アプリケーション プロキシ方法を採用して、このドメインにプロキシ ファイルを配置しました (サポートされている開発言語に応じて)。このプロキシ ファイルは、URL パラメーター (QueryString) をターゲット ドメインの対応するページに送信して HTML コードを取得し、出力します。 Ajax は、クロスドメインの目的を達成するために、このプロキシ ファイルに直接アクセスします。
asp.net に基づくクロスドメイン アクセス プロキシ ファイルの C# コードは次のとおりです:
@ ページ言語="C#"AutoEventWireup="true" ResponseEncoding="utf-8" %>
@ インポート名前空間=System.Net %>
@ インポート名前空間=System.IO %>

スクリプト runat="サーバー">
保護 オーバーライド void OnLoad(EventArgs e)
{
base.OnLoad(e);

文字列sourceUrl = "http://devspy.net ";
this.Page.Response.Write(TransferHtmlPage(string.Concat(sourceUrl, " ?",this.Page.Request.QueryString)));
}


public string TransferHtmlPage(string url)
{
文字列結果=文字列.Empty;
試してみる
{
HttpWebRequest リクエスト
= (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response
= (HttpWebResponse)request.GetResponse();
StreamReader リーダー
= new StreamReader(response.GetResponseStream(), Encoding.UTF8);
結果
= reader.ReadToEnd();
}

キャッチ(例外例)
{
return string.Format(@"

serverファイル コンテンツの取得エラー: {0}

"、例:Message);
}


if (!CheckVersionWaterMark(result))
return @"

バージョンのウォーターマークが無効です。関連する技術担当者にお問い合わせください。

";

結果を返す;
}


public bool CheckVersionWaterMark(string inputString)
{
return true;//ウォーターマークは検証されていません
//文字列パターン = "WaterMark";
//return Regex.IsMatch(inputString, pattern, RegexOptions.IgnoreCase);
}


スクリプト>

ASP および php に基づく実装もありますが、これらはリストされていません。興味がある場合は、次の 3 つのファイルを含む圧縮パッケージをダウンロードできます。
http://files.cnblogs.com/cncxz/ajaxProxy.rar
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。