2012-12-19 27 views
5

Sto cercando di utilizzare il server proxy pubblico (http://www.unblockwebnow.info/) per inviare richiesta HTTP al sito di destinazione, dire http://stackoverflow.com :)Utilizzando server proxy pubblico nel client HTTP

Il mio cliente ha HTTP seguente architettura:

string url = "http://stackoverflow.com"; 
HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(url); 
HttpWRequest.Method = "GET"; 

WebProxy myProxy = new WebProxy(); 
myProxy.Address = new Uri("http://www.unblockwebnow.info/"); 
HttpWRequest.Proxy = myProxy; 

HttpWebResponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse(); 
StreamReader sr = new StreamReader(HttpWResponse.GetResponseStream(), encoding); 
var rawHTML = sr.ReadToEnd(); 
sr.Close(); 

Dopo l'esecuzione del codice per rawHTML ottengo "pageok -managed by puppet - hostingcms02 pageok"

Se io commento HttpWRequest.Proxy = myProxy; linea, ottengo il contenuto del sito.

+1

L'indirizzo proxy è di tutti i tipi incasinato. Sembra un sito spazzatura. –

+0

provare un altro proxy –

+0

e la porta così – VladL

risposta

5

Questo sembra funzionare, ma non con il proxy (non so il numero di porta per unblockwebnow.info). Aggiunto numero di porta dopo ":" nell'URI

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Net; 
using System.IO; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string url = "http://stackoverflow.com"; 
      HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(url); 
      HttpWRequest.Method = "GET"; 

      WebProxy myProxy = new WebProxy(); 

      //United States proxy, from http://www.hidemyass.com/proxy-list/ 
      myProxy.Address = new Uri("http://72.64.146.136:8080"); 
      HttpWRequest.Proxy = myProxy; 

      HttpWebResponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse(); 
      StreamReader sr = new StreamReader(HttpWResponse.GetResponseStream(), true); 
      var rawHTML = sr.ReadToEnd(); 
      sr.Close(); 

      Console.Out.WriteLine(rawHTML); 
      Console.ReadKey(); 
     } 
    } 
} 
+0

Se non funziona con la sua delega, allora questo non risponde alla sua domanda. – IronMan84