1. 程式人生 > >flash跨域問題的另一個思路 ---- ASP.NET做代理

flash跨域問題的另一個思路 ---- ASP.NET做代理

flash讀取資料常常讓人很鬱悶,跨域問題總是不可避免。有時候策略檔案可能難以部署(別人的乳酪不那麼好碰) :D ,這裡將採用代理方式來獲取資料。
以下是你需要的:
[list]一個server,自己能控制的,這裡以.net平臺為例
在這個server上部署策略檔案[/list]
還有缺點:
[list]要犧牲點自己的頻寬,不推薦訪問量巨大的使用這個方案
侷限在文字資料,二進位制也可以的,貌似多媒體就難搞嘍[/list]

xmlredirect.aspx
[code]
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="XMLredirect.aspx.cs" Inherits="XMLredirect" %>
[/code]
把html什麼的都去掉,不然會跟著你的代理資料一起輸出。

behind code

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Net;

public partial class XMLredirect : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
WebClient wc = new WebClient();
Stream stream = wc.OpenRead(@"http://noahgenius.iteye.com/blog/rss_blog/noahgenius");
StreamReader sr = new StreamReader(stream);
Response.Write(sr.ReadToEnd());
sr.Close();
}
}

這裡將代理目標的資料讀出並直接輸出,簡單吧。

還有要說明,用Response.Redirect是不行的。 :wink: