【发布时间】:2013-08-01 07:50:41
【问题描述】:
我正在制作一个对某个站点进行大量 api 调用的应用程序。我遇到的麻烦是该站点对每分钟可以进行的 api 调用数量有限制。为了解决这个问题,我希望将Tor 与node-http-proxy 结合使用来创建一个代理表,该表使用取自tor api 的匿名IP 地址。
所以我的问题是,这有多大可能,你会推荐什么工具来完成它。我的应用程序是用 javascript 编写的,因此涉及 node-tor 之类的解决方案更可取。
【问题讨论】:
-
我要跳出一步,说你规避限制可能违反了 API 提供者的服务条款。限制就在那里,因为这是他们所能提供的全部。您应该要求 API 提供商帮助您在他们的限制范围内工作,或者您应该告诉他们为什么限制太低。
-
正如@Bergi 所说——缓存请求,或设置本地服务器以在开发时返回虚拟/真实数据。如果数据以 JSON 形式返回,那甚至可以是您提供的纯文本文件,只要使用正确的 mime 类型即可。
-
对不起,我不明白您的代理表会如何改变:远程站点不会仍然收到来自同一 IP 的传入请求吗?我在使用网络爬虫时遇到过这样的问题,我通常使用async 来限制我的爬虫的吞吐量以适应被爬取的站点自身的限制。
-
如果您使用的 API 通过计算 IP 地址发出请求的次数来施加限制,那么使用 TOR 听起来像是一个有趣的选择。 API 是否还要求您提供私钥来访问其服务? (如果是这样,更改请求来自的 IP 地址不会有太大帮助,不是吗?)
标签: javascript node.js proxy tor