2009-08-14 20 views
5

Tôi sắp khởi chạy một trang web hoạt động tốt cho đến khi tôi tìm thấy dấu vết sau:Làm cách nào để tạo proxy web đơn giản bằng ASP.NET?

Tôi không thể yêu cầu tài khoản Yahoo! Đường ống qua SSL.

Vì vậy, các trang yêu cầu SSL hiện thiếu một phần chức năng của chúng, trừ khi tôi tìm ra cách giải quyết vấn đề này; rõ ràng, điều này có thể được thực hiện nếu tôi sử dụng trang được lưu trữ SSL trên ứng dụng của mình để yêu cầu Yahoo! ống cho tôi.

Tôi đã xem các giải pháp như http://www.iisproxy.net/license.html, nhưng dường như hơi nặng đối với những gì tôi đang cố gắng thực hiện.

Tôi không thể làm điều này với trình xử lý ASHX đơn giản? Hay nó phức tạp hơn thế?

Cảm ơn bạn,

Michael

Trả lời

4

Cảm ơn bạn, John - trong trường hợp nó rất hữu ích cho bất cứ ai khác, ở đây' mã tôi đang sử dụng trong tệp ASHX của mình:

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

    } 

Tuy nhiên, tôi nhận được thêm một vài ký tự (trái với phiên bản đến trực tiếp từ Yahoo! Pipes), vì vậy tôi phải loại bỏ chúng trước khi phân tích cú pháp JSON.

Các vấn đề liên quan