日期:2014-05-17  浏览次数:20405 次

aspx的WEB代理图片显示问题
本帖最后由 gujin33 于 2013-03-14 17:08:46 编辑
写了一个WEB的代理网站
思路是获取目标网站的信息``然后在href,action,src中修改成
代理网站路径?url=目标网站路径

 HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(Request.QueryString["url"].ToString());   //创建请求
                    httpWebRequest.Method = "GET";
 HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                    Stream stream;                                              //接收数据
                    stream = httpWebResponse.GetResponseStream();
                    StreamReader streamReader = new StreamReader(stream, System.Text.Encoding.GetEncoding("gb2312"));//设置编码
                    string StrOut = streamReader.ReadToEnd();
                    StrOut = Replace(StrOut);    //地址替换
                    httpWebResponse.Close();
                    Response.Write(Server.UrlDecode(StrOut));


public static string Replace(string Htmlstring)
{
Htmlstring = Regex.Replace(Htmlstring, "href=\"http://", "href=\"LoadPage.aspx?url=http://", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, "action=\"http://", "action=\"LoadPage.aspx?url=http://", RegexOptions.Compiled | RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, "src=\"http://", "src=\"LoadPage.aspx?url=http://", RegexOptions.Compiled | RegexOptions.IgnoreCase);
.........................
........................
}


问题是我如果不进行src替换则能正常显示网址中的图片,

但一旦换成了代理网址+目标网址的话,图片就不能正常显示,
打开图片看到的是像以记事本形式打开的图片一样,是乱码,不是图片形式
和我把原图片下载下来用记事本打开的内容是一样
该怎样以图片的形式将代理的图片显示出来???

求指导~~~
代理 web 图片显示 proxy

------解决方案--------------------
            switch (type)
            {
                case "icon":
                    if (!typeValue.EndsWith(".png") && !typeValue.EndsWith(".gif"))
 &n