我写了一个红宝石脚本使用银莲花宝石爬行一个网站。直接使用时,脚本运行良好。
但是,我想使用socksify gem,以便脚本中的所有TCP调用都使用socks5路由。我也是这样做的:
socksify_ruby localhost 9050 myscript.rb方式运行以下命令这里然而,海葵在这种情况下不会检测到任何页面。请告诉我我犯了什么错误。
发布于 2013-09-13 20:29:34
有许多问题可能导致这种情况发生。首先,如果ntp没有在您的机器上运行,而且时间还差一点点,您就不能使用socks服务器来做任何复杂的事情。这事发生在我身上。您需要安装ntp,并确保它在执行任何操作之前已经同步。
其次,您可能会发现许多类似于socksify的命令已经过时。我发现确保所有事情都通过socks端口进行,而不发生dns泄漏的最好方法是使用curl,它为许多语言绑定。您可以仔细观察tcpdump的流量,以确保它没有泄漏,而且在我的经验中它是水密的。
我还建议您看看torsocks,它最近由github上的dgoulet更新。这取代了过时的socksify_ruby所基于的tsocks。
最后,隐藏的服务最近承受了很大的压力,因为一个机器人已经决定启动几百万Tor客户。请确保您可以连接到Tor浏览器包,假设您正在处理的项目试图爬行隐藏服务。
实际上,您并没有说这个项目涉及Tor或隐藏服务,但是您确实使用Tor标记了它。
https://stackoverflow.com/questions/18680674
复制相似问题