我订阅了一项API服务,该服务提供基于静态IP的访问(适用于实时和测试)。
由于我的开发区ISP没有提供静态IP,因此我启用了对我的临时机IP的API访问,这是静态的。我在我的登台服务器中安装了squid并启用/设置了代理服务器,以便我可以将其用作代理并在开发时调用API。
我正在使用Mac进行开发和联网>代理设置不适用于系统范围(终端)。因此,我使用的是试用版的MacProxy,proxifier(代理客户端),所有这些都运行良好,直到试用期满。 Mac有免费替代品吗?
我尝试通过创建ssh socks proxy并设置http_proxy =“xxx”来设置代理。在终端。当我使用 curl ipecho.net/plain检查终端IP帖子设置时; echo ,它显示正确的IP,但是当我运行本地rails开发服务器并尝试访问API时,它使用无效IP拒绝调用(它显示非代理IP)
答案 0 :(得分:0)
可能解决您问题的免费替代方案可能是github上的项目:
它转发TCP
和DNS
请求远程ssh服务器。
sshuttle的最基本用法如下:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
要对您可能执行的所有流量进行隧道传输:
./sshuttle --dns -vr ssh_server 0/0
还有可用的辅助函数here,它可以简化一些命令。
答案 1 :(得分:0)
ruby应用程序不使用系统级代理设置。通常,这是传递给用于建立连接的库的代码级选项。
如果您希望Savon使用代理,那么您需要在创建客户端时将其传递给Savon:
client = Savon.client(proxy: "http://example.org", ...)
如果在gem内部进行此调用,那么除非该gem已经提供了该选项,否则您需要将其分叉以添加选项
你提到的宝石似乎已经实现了这个 - 它的configuration类有一个似乎传递给savon的代理属性。