【发布时间】:2012-08-09 19:16:12
【问题描述】:
我试图通过 tor 代理发出请求
myRequest.Proxy = New WebProxy("127.0.0.1", 8118)
但这给了我一个错误
Unable to connect to the remote server
内部异常是No connection could be made because the target machine actively refused it 127.0.0.1:8118
我的阅读表明这可能是防火墙问题,所以我完全关闭了 Windows FW,我还暂时禁用了我的 AVG AV。我没有任何其他我知道的保护措施
为了更好的衡量,我还尝试了 9050 和 9051 作为端口号,但这没有帮助
Tor 浏览器正在运行,所以我想我的代码应该也能正常运行。如何设置代理以使用 Tor。
顺便说一句,“8118”内存不足,我找不到任何关于我应该使用哪个端口作为代理的文档
也许我的 tor 设置了别的东西?
感谢一百万!
编辑
关于隐私:
过去(大约一年前或更长时间)我只是下载 tor,然后添加 8118 作为代理,一切正常。现在没有了。也许有什么变化?
所以我现在按照 CodeCaster 的建议下载了 privoxy,现在当 tor 和 privoxy 都在运行时,请求可以工作,但是,恐怕它没有使用 tor 代理,因为响应回来了,好像我被服务器
你知道为什么过去我不必下载 privoxy,而现在必须下载并启用它吗?
谢谢
编辑 #2: 测试
我现在做了一个简单的测试函数,如下所示:
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
在不通过代理的情况下使用时,我会取回我的常规真实 IP。到目前为止一切顺利
当我使用 8118 作为代理时,这取决于:
如果 privoxy 正在运行,那么我会取回我的常规 IP(而不是出现在 Tor 浏览器中的欺骗 IP)。这让整个事情变得毫无意义
如果它没有运行,那么我得到上述错误No connection could be made because the target machine actively refused it 127.0.0.1:8118
回顾一下,过去我使用 Tor 本身(加上 Vidalia)没有 Privoxy 或类似的东西,它工作得很好。
谢谢
【问题讨论】:
-
WebProxy 类用于使用 HTTP 代理。如我所见,TOR 客户端将自身暴露为 SOCKS 代理,.NET Framework 中不存在对此的支持。正如您所看到的here,您必须设置一个叫做privoxy 的东西。这是我在没有任何 SOCKS 或 TOR 知识的情况下发现的。请尝试自己展示一些研究成果。
-
嗨,谢谢。请阅读我的编辑。我不太精通代理。
标签: .net proxy httpwebrequest tor