【问题标题】:Howto configure LWPx::ParanoidAgent to use /etc/hosts如何配置 LWPx::ParanoidAgent 以使用 /etc/hosts
【发布时间】:2012-11-20 10:41:58
【问题描述】:

最近我从使用 LWP::UserAgent 切换到 LWPx::ParanoidAgent 来获取第三方提供的 URL。

一切都很好,除了有时需要在 /etc/hosts 中查找来解析域。 LWP::UserAgent 会自动执行此操作,但 LWPx::ParanoidAgent 只查询真实的 DNS 服务器。

如何配置 LWPx::ParanoidAgent 来搜索 /etc/hosts?

更新: 该模块让我设置一个 DNS 解析器(Net::DNS::Resolver)。有没有办法让 DNS 解析器也可以查看 /etc/hosts?

【问题讨论】:

    标签: perl dns hosts lwp lwp-useragent


    【解决方案1】:

    我查看了模块的源代码。它无法配置为这样做。

    顺便说一句,它没有使用正常的名称解析系统,因为它想知道主机是否解析为另一个主机名(即当它是 CNAME 时),因此它也可以根据主机黑白名单检查该主机名.

    如果您想添加此功能,我建议将LWPx::ParanoidAgent::_resolve 包装为直接检查/etc/hosts 的内容(当!$depth 时),然后再返回原始_resolve。提供一个看起来相似的 Net::DNS::Resolver 会大大增加工作量。

    【讨论】:

    • 看来你可以设置一个DNS解析器。我希望有一种聪明的方法来设置一个可以查看 /etc/hosts 的 DNS 解析器。
    • 是的,您可以编写自己的解析器,它提供与 Net::DNS::Resolver 相同的接口。实际上,在回退到原始 _resolve 之前,直接用检查 /etc/hosts 的东西来包装 _resolve 会更容易。
    猜你喜欢
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    相关资源
    最近更新 更多