我使用海葵宝石编写了一个ruby脚本来抓取一个网站。直接使用时脚本运行正常。
但我想使用socksify gem,以便脚本中的所有TCP调用都使用socks5进行路由。我做了同样的事情:
socksify_ruby localhost 9050 myscript.rb
醇>
然而,在这种情况下,海葵不会检测到任何页面。请让我知道我在做什么错误。
答案 0 :(得分:1)
有许多问题可能导致这种情况发生。首先,如果你的机器上没有运行ntp,并且时间已经过了一点点,你将无法使用socks服务器做任何复杂的事情。这发生在我身上。您需要安装ntp并确保它在执行任何操作之前已同步。
其次,您可能会发现很多像socksify这样的命令已经过时了。我发现确保一切都通过袜子端口发生而没有dns泄漏的最好方法是使用curl,它具有许多语言的绑定。您可以使用tcpdump仔细观察流量,确保它没有泄漏,根据我的经验,这是不漏水的。
我还建议您查看最近由github上的dgoulet更新的torsocks。这取代了过时的socksify_ruby基于的tsocks。
最后,隐藏的服务最近一直处于巨大压力之下,因为机器人决定启动几百万的Tor客户端。假设您正在处理的项目正在尝试抓取隐藏的服务,请确保您可以连接Tor浏览器套件。
你实际上并没有说这个项目涉及Tor或隐藏服务,但你确实用Tor标记了它。