gpt4 book ai didi

java - 浏览器代理 : How to determine IP for proxy server?

转载 作者:行者123 更新时间:2023-12-04 15:08:52 26 4
gpt4 key购买 nike

我在项目中实现了BrowserMobProxy。此逻辑使用 IP 地址进行代理连接和测试 UI Web 服务(用于请求/响应统计保存的代理)。之前一切正常,但我们重新启动 docker 并更改了代理的 IP 地址。现在我需要为代理找到一个新的 IP 地址。

使用IP地址的代码

  public static void startProxyServer(String address) {//address = "172.17.0.2"
if (browserMobProxy.isStarted()) {
browserMobProxy.stop();
}
try {
browserMobProxy.start(9090, Inet4Address.getByName(address)); // {1}
useExclusivePort = browserMobProxy.getPort();
} catch (Exception e) {
throw new RuntimeException(e);
}
}

docker 重新启动后,项目开始在 {1} 行失败。我开始在服务器上搜索新 IP。不幸的是,我无法使用 docker 镜像中的 ifconfig 命令,因为该命令未安装在那里。所以我通过以下方式确定了来自服务器的地址:

enter image description here

在我使用 IP 172.17.0.2 后,代码运行良好,我希望我能解决这个问题,但事实证明我失去了与该代理的连接 - 在 UI 上我得到以下结果:

enter image description here

所以我完全糊涂了:

  1. 在 docker 镜像重启之前一切正常
  2. 旧 IP 看起来像 172.19.0.5,但代码现在无法使用它。
  3. 我“找到”了新的 IP 172.17.0.2 并使用它编写了代码。
  4. 我不确定我确定的 IP 是否正确,因为所有旧 IP 都以 172.19.0 开头。{4,5,8}
  5. 我与新 IP 没有联系
  6. 我不知道或我找到了正确的 IP 以及为什么它适合代码但不适合连接
  7. 该项目使用 Jenkins docker 镜像进行部署。浏览器从 Selenium 网格开始

#问题:

我需要如何找到可用于代理连接的正确 IP?

最佳答案

还有一些其他的命令可以让你找到你的服务器运行在哪个ip上。检查您是否有权访问以下任何内容

先试试

netstat -an

这将为您提供服务器正在监听的所有 IP 以及哪些端口,以及连接到其上的 IP 以及端口

如果这不起作用试试这个 https://dev.to/trexinc/netstat-without-netstat-inside-containers-9ak

然后尝试

ip addr

这会给你类似 ifconfig 的输出

最后你可以试试

docker inspect -f '{{ .NetworkSettings.IPAddress }}' containerID

这将为您提供 docker 的网络接口(interface)

关于java - 浏览器代理 : How to determine IP for proxy server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65583253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com