2009-08-14 45 views
5

我即将推出一个运行良好的网站,直到我发现以下呃:如何使用ASP.NET制作非常简单的Web代理?

我无法申请Yahoo!通过SSL管道。

因此,需要SSL的页面现在缺少一部分功能,除非我找出解决办法;显然,如果我在我的应用程序中使用SSL托管的页面来请求Yahoo!,可以完成此操作。给我的管道。

我见过像http://www.iisproxy.net/license.html这样的解决方案,但它似乎对我正在尝试做的事情有点沉重。

我不能用一个简单的ASHX处理程序来做到这一点吗?还是比这更复杂?

谢谢

迈克尔

回答

4

谢谢约翰 - 万一它对别人有帮助,了,我就是用我的ASHX文件中的代码:

public override void ProcessRequest(HttpContext context) 
    { 
     var strURL = context.Server.UrlDecode(context.Request["url"]); 

     WebResponse objResponse = default(WebResponse); 
     WebRequest objRequest = default(WebRequest); 
     string result = null; 
     objRequest = HttpWebRequest.Create(strURL); 
     objResponse = objRequest.GetResponse(); 
     StreamReader sr = new StreamReader(objResponse.GetResponseStream()); 
     result = sr.ReadToEnd(); 
     //clean up StreamReader 
     sr.Close(); 

     //WRITE OUTPUT 
     context.Response.ContentType = "application/json"; 
     context.Response.Write(result); 
     context.Response.Flush(); 

    } 

但是,我得到了一对额外的字符(而不是说来了直接从雅虎版本管道),所以我必须在解析JSON之前删除它们。