perl - 在 Perl 中使用不同的出站 IP

标签 perl ip-address lwp

我们有几个不同的网站在同一台服务器上运行,它们都访问 1 个特定的 Web 服务,每个服务都有自己唯一的 API key 。不幸的是,网络服务有一个基于 IP 地址(不是 API key )的每日限制,所以虽然我们的每个网站都低于每日限制,但它们都超过了 IP 限制。当通过 Web 浏览器访问时,每个网站都在不同的静态 IP 地址上运行,但是当 perl 脚本在每个网站用户帐户下运行时,它们的出站 IP 地址是相同的。

我的问题是如何使每个 perl 脚本使用特定站点的正确 IP 地址,以便每个脚本都可以保持在 Web 服务的每日限制范围内?更简单地说,perl 脚本如何更改使用 LWP perl 模块进行的调用的出站 IP 地址?解释很好,但代码示例会更好。

在此先感谢您的帮助!

最佳答案

使用 LWP::UserAgent您可以简单地使用 ''local_address'' 方法来决定要用于传出连接的 IP 地址:

my $ua = new LWP::UserAgent;
$ua->local_address("10.10.10.10");
my $response = $ua->get("http://stackoverflow.com/");

关于perl - 在 Perl 中使用不同的出站 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3432181/

相关文章:

perl - 如何确定 LWP::Simple 的 getstore() 的下载速度和数量?

perl - 为什么 Perl HTTP::Response 不解码这个撇号?

python - 如何将 Perl 祝福的对象转换为 Python 可以读取的 YAML

jquery - 如何通过 WWW::Mechanize::Firefox 调用 jQuery 或 Angular 函数?

perl - $/是否有可能支持正则表达式?

perl - 如何获取正在运行的 Perl 脚本的名称

python - 如何在 Python 中检查 ip 是否在网络中?

C CIDR 到地址列表

c# - 如何从 C# 中的 FTP 请求获取 IP 地址

perl - 如何将多部分/表单数据中的 HTTP POST 数据发送到 Perl 中的 REST API