2009-08-14 11 views
5

Estoy a punto de lanzar un sitio que funcionaba bien hasta que encontré el siguiente inconveniente:¿Cómo puedo hacer un proxy web MUY simple usando ASP.NET?

No puedo solicitar un Yahoo! Pipe sobre SSL.

Así que las páginas que requieren SSL ahora carecen de una parte de su funcionalidad a menos que encuentre una forma de evitar esto; obviamente, esto podría hacerse si utilizo una página alojada en SSL en mi aplicación para solicitar el Yahoo! pipa para mí

He visto soluciones como http://www.iisproxy.net/license.html, pero parece ser un poco pesado para lo que estoy tratando de hacer.

¿No puedo hacer esto con un simple controlador ASHX? ¿O es más complejo que eso?

Gracias,

Michael

Respuesta

4

Gracias, John - en caso de que sea útil a cualquier otra persona, aquí' es el código que estoy usando en mi archivo 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(); 

    } 

Sin embargo, me estaba poniendo un par de caracteres adicionales (en contraposición a la versión que vino directamente de Yahoo! Pipes), así que tuve que eliminarlos antes de analizar el JSON.

Cuestiones relacionadas