geturl example r curl proxy socks tor

example - geturl r



Cómo usar los calcetines Tor5 en R getURL (4)

Hay enlaces curl para R , después de lo cual puede usar curl para llamar al servidor proxy Tor SOCKS5.

La llamada desde el shell (que puede traducir al enlace R) es:

curl --socks5-hostname 127.0.0.1:9050 google.com

Tor hará el DNS también para los registros A.

Quiero usar Tor en la función getURL en R. Tor está funcionando (registrado en firefox), calcetines5 en el puerto 9050. Pero cuando configuro esto en R, obtengo un error

html <- getURL("http://www.google.com", followlocation = T, .encoding="UTF-8", .opts = list(proxy = "127.0.0.1:9050", timeout=15)) Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) : ''<html>/n<head>/n<title>Tor is not an HTTP Proxy</title>/n</head>/n<body>/n<h1>Tor is not an HTTP Proxy</h1>/n<p>/nIt appears you have configured your web browser to use Tor as an HTTP proxy./nThis is not correct: Tor is a SOCKS proxy, not an HTTP proxy./nPlease configure your client accordingly.

He intentado reemplazar proxy con calcetines, calcetines5 pero no funcionó.


Hola, Naparst. Realmente agradecería una pista sobre cómo hacer la solución que propones. La opción debería ser algo así como: opts <- list (socks5.hostname = "127.0.0.1:9050") (esto no funciona, ya que socks5.hostname es no es una opción)


En Mac OSX, instale Tor Bundle para Mac y Privoxy y luego actualice la configuración del proxy en las preferencias del sistema.

''Preferencias del sistema'' -> ''Wi-FI'' -> ''Avanzado'' -> ''Proxies'' -> establecer ''Web Proxy (HTTP)'' Web Proxy Server 127.0.0.1:8118

''Preferencias del sistema'' -> ''Wi-FI'' -> ''Avanzado'' -> ''Proxies'' -> configurar ''Secure Web Proxy (HTTPS)'' Secure Web Proxy Server 127.0.0.1:8118 -> ''OK ''->'' Aplicar ''

library(rcurl) curl <- getCurlHandle() curlSetOpt(proxy=''127.0.0.1:9150'',proxytype=5,curl=curl) html <- getURL(url=''check.torproject.com'',curl=curl)


RCurl se predeterminará a un proxy HTTP, pero Tor proporciona un proxy SOCKS. Tor es lo suficientemente inteligente como para entender que el cliente proxy (RCurl) está tratando de usar un proxy HTTP, de ahí el mensaje de error en HTML devuelto por Tor.

Para obtener RCurl y curl, usar un proxy SOCKS, puede usar un prefijo de protocolo, y hay dos prefijos de protocolo para SOCKS5: "calcetines5" y "calcetines5h" (consulte el manual de Curl ). Este último permitirá que el servidor SOCKS maneje consultas DNS, que es el método preferido cuando se usa Tor (de hecho, Tor le advertirá si deja que el cliente proxy resuelva el nombre de host).

Aquí hay una solución R pura que usará Tor para consultas de DNS.

library(RCurl) options(RCurlOptions = list(proxy = "socks5h://127.0.0.1:9050")) my.handle <- getCurlHandle() html <- getURL(url=''https://www.torproject.org'', curl=my.handle)

Si desea especificar parámetros adicionales, consulte a continuación dónde ubicarlos:

library(RCurl) options(RCurlOptions = list(proxy = "socks5h://127.0.0.1:9050", useragent = "Mozilla", followlocation = TRUE, referer = "", cookiejar = "my.cookies.txt" ) ) my.handle <- getCurlHandle() html <- getURL(url=''https://www.torproject.org'', curl=my.handle)