2009-08-14 4 views
5

Ich bin im Begriff, eine Website zu starten, die gut funktionierte, bis ich den folgenden Schluckauf fand:Wie kann ich einen sehr einfachen Web-Proxy mit ASP.NET machen?

Ich kann keine Yahoo! Über SSL streamen.

Also die Seiten, die SSL benötigen, fehlen jetzt ein Stück ihrer Funktionalität, es sei denn, ich finde einen Weg um dies; Natürlich könnte dies getan werden, wenn ich eine SSL-gehostete Seite in meiner App verwende, um die Yahoo! Rohr für mich.

Ich habe Lösungen wie http://www.iisproxy.net/license.html gesehen, aber es scheint ein bisschen schwer für das, was ich versuche zu tun.

Kann ich das nicht mit einem einfachen ASHX-Handler machen? Oder ist es komplexer?

Danke,

Michael

Antwort

4

Danke, John - falls es an andere Personen hilfreich, hier‘ s der Code, den ich in meiner ASHX Datei bin:

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(); 

    } 

Allerdings war ich ein paar zusätzlichen Zeichen bekommen (im Gegensatz zu der Version im Gegensatz, die von Yahoo! direkten kam Pipes), also musste ich diese vor dem Parsen des JSON entfernen.