首页 > 解决方案 > 如何从 java 程序本身更改域的 IP 地址?

问题描述

我们手动执行主机条目以将 URL 重定向到特定 IP,有没有办法在自动化脚本本身(在 JAVA 中)中做到这一点?因此它指向一个特定的 IP,而无需每次都从系统主机文件中手动更改主机条目。

标签: javaseleniumselenium-webdrivertestingautomation

解决方案


您可以使用BrowserMob-Proxy即时伪造 IP 地址。您需要添加自定义域解析器,如下所示:

browserMobProxy.setHostNameResolver(new NativeResolver(){
    @Override
    public Collection<InetAddress> resolve(String originalHost) {
        if("webelement.click".equals(originalHost)){
            try {
                return Arrays
                        .asList(
                                new InetAddress[]{
                                        InetAddress.getByName("127.0.0.1")
                                });
            } catch (UnknownHostException e) {
                e.printStackTrace();
            }
        }
        return super.resolve(originalHost);
    }
});

在此示例中,您覆盖了一个特定域名的 IP。在这篇文章中,您可以找到有关该问题的更多见解。


推荐阅读