最近我从使用 LWP::UserAgent 切换到 LWPx::ParanoidAgent 来获取第 3 方提供的 URL。
一切都很好,只是有时需要在/etc/hosts 中查找来解析域。 LWP::UserAgent 自动执行此操作,但 LWPx::ParanoidAgent 只查询真实的 DNS 服务器。
如何配置 LWPx::ParanoidAgent 来搜索/etc/hosts?
更新: 该模块允许我设置 DNS 解析器 (Net::DNS::Resolver)。有没有办法让 DNS 解析器也查看/etc/hosts ?
最佳答案
我查看了模块的源代码。无法将其配置为这样做。
顺便说一句,它没有使用正常的名称解析系统,因为它想知道主机是否解析为另一个主机名(即,当它是 CNAME 时),以便它也可以根据主机黑名单和白名单检查该主机名.
如果您想添加此功能,我建议将 LWPx::ParanoidAgent::_resolve
包装为直接检查 /etc/hosts
的内容(当 ! $深度
),然后回退到原始_resolve
。提供一个类似的 Net::DNS::Resolver 会需要更多的工作。
关于perl - 如何配置 LWPx::Paranoia Agent 使用/etc/hosts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13471481/