2012-05-25 19 views
6

Necesito conectarme a un sitio web utilizando un servidor proxy. Puedo hacerlo manualmente, por ejemplo, puedo usar el proxy en línea http://zend2.com y luego navegar a www.google.com. Pero esto debe hacerse programáticamente. Sé que puedo usar la clase WebProxy, pero ¿cómo puedo escribir un código para que se pueda usar un servidor proxy?conéctese al sitio web utilizando un servidor proxy gratuito programáticamente

¿Alguien me puede dar un fragmento de código como ejemplo o algo así?

gracias

+0

Usted sabe que puede usar 'WebProxy'. Esa es la solución. ¿Qué has intentado? ¿A qué te refieres con "conectar un sitio web"? usando el navegador? ¿Usando una webrequest C#? –

+0

Sí, en el título se puede leer que quiero hacer esto programáticamente (así que usando C#) – Ozkan

+0

programáticamente, ¿qué? Ambas hipótesis que escribí se pueden hacer programáticamente –

Respuesta

1

comprensión de las obras zend2, puede instalar en una URL como esta:

http://zend2.com/bro.php?u=http%3A%2F%2Fwww.google.com&b=12&f=norefer

por Google Navegación.

I C#, construir la URL así:

string targetUrl = "http://www.google.com"; 
string proxyUrlFormat = "http://zend2.com/bro.php?u={0}&b=12&f=norefer"; 
string actualUrl = string.Format(proxyUrlFormat, HttpUtility.UrlEncode(targetUrl)); 

// Do something with the proxy-ed url 
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(actualUrl)); 
HttpWebResponse resp = req.GetResponse(); 

string content = null; 
using(StreamReader sr = new StreamReader(resp.GetResponseStream())) 
{ 
    content = sr.ReadToEnd(); 
} 

Console.WriteLine(content); 
+0

Gracias por su respuesta @Steve B. Pero el primer enlace que proporcionaste solo llena el cuadro de texto en zend2 pero en realidad no va a 'google.com' – Ozkan

+0

Sospecho que el sitio produce una cookie. La url funciona en mi navegador, pero no con otro navegador. Tendrá que simular una publicación HTTP en la página, luego realizar un seguimiento de las cookies para hacer que funcione –

+0

En realidad, el uso de zend2 no está obligado. También puedo usar un servidor proxy público que acabo de encontrar http://hidemyass.com/proxy-list/search-225490. Gracias por el esfuerzo. – Ozkan

0

Puede utilizar el código WebProxy Class

MSDN

WebProxy proxyObject = new WebProxy("http://proxyserver:80/",true); 
WebRequest req = WebRequest.Create("http://www.contoso.com"); 
req.Proxy = proxyObject; 

En su caso

WebProxy proxyObject = new WebProxy("http://zend2.com",true); 
WebRequest req = WebRequest.Create("www.google.com"); 
req.Proxy = proxyObject; 
+0

@ user1410501 sí. por favor, lea la documentación para una comprensión completa http://msdn.microsoft.com/en-us/library/system.net.webproxy.aspx – ABH

+0

No creo que funcione porque zend2.com es solo un sitio web que le ofrece para ir a un sitio web usando proxy manualmente? – Ozkan

+0

@ user1410501 consulte esta publicación http://stackoverflow.com/questions/2175104/how-to-access-the-internet-through-proxy-in-c-sharp – ABH

Cuestiones relacionadas