.net 如何通过Tor发出httpwebrequest
我正试图通过tor代理发出请求.net 如何通过Tor发出httpwebrequest,.net,proxy,httpwebrequest,tor,.net,Proxy,Httpwebrequest,Tor,我正试图通过tor代理发出请求 myRequest.Proxy = New WebProxy("127.0.0.1", 8118) 但这给了我一个错误 无法连接到远程服务器 内部异常是无法建立连接,因为目标计算机主动拒绝了它127.0.0.1:8118 我的阅读表明这可能是防火墙问题,所以我完全关闭了windows FW,我还临时禁用了我的AVG AV。我没有其他我知道的保护措施 为了更好的衡量,我还尝试了9050和9051作为端口号,但没有帮助 Tor浏览器正在工作,所以我想我的代码也应该工
myRequest.Proxy = New WebProxy("127.0.0.1", 8118)
但这给了我一个错误
无法连接到远程服务器
内部异常是无法建立连接,因为目标计算机主动拒绝了它127.0.0.1:8118
我的阅读表明这可能是防火墙问题,所以我完全关闭了windows FW,我还临时禁用了我的AVG AV。我没有其他我知道的保护措施
为了更好的衡量,我还尝试了9050和9051作为端口号,但没有帮助
Tor浏览器正在工作,所以我想我的代码也应该工作。如何将代理设置为使用Tor
顺便说一句,“8118”内存不足,我找不到任何关于应该使用哪个端口作为代理的文档
也许我的任务是做别的
万分感谢
编辑
关于privoxy:
在过去(大约一年前或更长时间),我只是下载tor,然后添加8118作为代理,所有这些都起了作用。现在没有了。也许有什么改变了
所以我现在下载了CodeCaster建议的privoxy,现在当tor和privoxy都在运行时,请求就可以工作了,但是,我担心它没有使用tor代理,因为响应会回来,就像服务器识别了im一样
你知道为什么过去我不需要下载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)。这使得整件事毫无意义
如果它没有运行,那么我会收到上面的错误消息,因为目标机器主动拒绝了127.0.0.1:8118,所以无法建立连接
简单回顾一下,过去我使用Tor本身(加上Vidalia)时没有Privoxy或类似的东西,而且效果很好
谢谢使用下面的代码获取默认代理并将其分配给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());
}
来源:@junior mayhe的回答在这里帮了我的忙 以防万一将来有人偶然发现这个问题
朱尼尔·梅赫:如果你看到这个,请你在这里回答,这样我就可以提高我的销售代表的水平了?谢谢:-)我将建议一个适合我的选项:您可以使用库WebProxy类用于使用HTTP代理。正如我所发现的,TOR客户端将自己公开为SOCKS代理,而.NET Framework中不支持该代理。正如你所看到的,你必须建立一个叫做privoxy的东西。这是我在不知道的情况下发现的。请你自己做一些研究。嗨,谢谢。请阅读我的编辑。我不太精通代理。tor不是我的默认代理。我只需要它来完成特定的任务。谢谢