2012-08-13 17 views
6

im tratando de hacer una solicitud a través del proxy Torcómo hacer HttpWebRequest a través de Tor

myRequest.Proxy = New WebProxy("127.0.0.1", 8118) 

pero esto me da un error Unable to connect to the remote server

y la excepción interna es No connection could be made because the target machine actively refused it 127.0.0.1:8118

mi lectura muestra que esto podría ser un problema de firewall, por lo que apagué por completo Windows FW, también deshabilité temporalmente mi AV AV. no tengo ningún otro tipo de protección que Im consciente de

una buena medida también intenté 9050 & 9051 como números de puerto, pero eso no ayudó

el navegador Tor está trabajando, por lo que supongo que mi código debe trabajo tambien ¿Cómo configuro el proxy para usar Tor?

Por cierto, el "8118" está fuera de la memoria, no pude encontrar ninguna documentación en cuanto a qué puerto que debe utilizar como proxy

tal vez mi tor se establece en algo más?

¡gracias a un millón!

EDITAR

respecto privoxy:

en el pasado (hace alrededor de un año o más) acabo de descarga Tor, y después se añadieron 8118 como el proxy y todos sus estados. ahora no. tal vez algo cambió?

así que descargué ahora privoxy como lo sugiere CodeCaster, ahora cuando tanto tor como privoxy se están ejecutando, entonces las solicitudes funcionan, pero, me temo que no está utilizando el proxy tor, ya que las respuestas vuelven como si estuviese reconocido por el servidor

¿sabes por qué en el pasado no tuve que descargar privoxy, y ahora debe ser descargado y habilitado?

gracias

editar # 2:Prueba

hice ahora una función simple prueba de este modo:

Function ExternalIP(Optional Proxy As Integer? = Nothing) As String 
     Dim webClient = New WebClient 
     webClient.Headers.Add("Cache-Control", "max-age=0") 
     If Proxy.HasValue Then webClient.Proxy = New WebProxy("127.0.0.1", Proxy.Value) 
     Dim ip = webClient.DownloadString("http://myip.ozymo.com/") 
     webClient.Dispose() 
     Return ip 
    End Function 

cuando se usa sin pasar de un proxy, puedo volver mi IP normal real. hasta ahora tan bueno

cuando se utiliza 8118 como proxy, entonces depende:

si privoxy se está ejecutando entonces yo regrese a mi IP normal, (en lugar de uno falsificado que aparece en el navegador Tor). lo que hace que todo el asunto sin sentido

si no su funcionamiento luego me sale el error anterior No connection could be made because the target machine actively refused it 127.0.0.1:8118

sólo para recapitular, en el pasado he utilizado Tor en sí (más Vidalia) sin Privoxy ni nada de eso, y se funcionó bien

gracias a continuación

+0

clase El WebProxy es para el uso de un proxy HTTP. Como puedo encontrar, un cliente TOR se expone a sí mismo como un proxy SOCKS, para el cual no existe soporte en .NET Framework. Como puede ver [aquí] (http://stackoverflow.com/questions/1962483/c-sharp-using-tor-as-proxy?rq=1) tendrá que configurar algo llamado privoxy. Esto lo encontré sin ningún conocimiento de SOCKS o TOR. Por favor, intente mostrar algún esfuerzo de investigación usted mismo. – CodeCaster

+0

hola gracias. por favor lea mi edición. no estoy tan bien versado en proxies. –

Respuesta

3

@ respuesta Junior-MAYHE 's lo hizo por mí aquí

using Tor as Proxy

por si alguien se tropieza otra persona a través de esta cuestión en el futuro ...

junior-mayhe: si ves esto, ¿podrías responder aquí, así que puedo subir un poco mi reputación? gracias :-)

0

código de uso para obtener el proxy predeterminado y asignarle objeto myRequest.

WebProxy proxy = (WebProxy) WebProxy.GetDefaultProxy(); 

    // See what proxy is used for resource. 
    Uri resourceProxy = proxy.GetProxy(resource); 

    // Test to see whether a proxy was selected. 
    if (resourceProxy == resource) 
    { 
     Console.WriteLine("No proxy for {0}", resource); 
    } 
    else 
    { 
     Console.WriteLine("Proxy for {0} is {1}", resource.ToString(), 
      resourceProxy.ToString()); 
    } 

Fuente: http://msdn.microsoft.com/en-us/library/system.net.webproxy.getdefaultproxy.aspx

+0

tor no es mi proxy predeterminado. solo lo necesito para tareas específicas. Gracias –

0

voy a sugerir una opción que me convenía: se puede usar la biblioteca Tor.NET

Cuestiones relacionadas