【问题标题】:How to make sure that my application is using Proxy server and not my IP address in selenium?如何确保我的应用程序使用的是代理服务器而不是我在 selenium 中的 IP 地址?
【发布时间】:2017-07-23 21:26:55
【问题描述】:

我在 PhantomJS 浏览器中使用 Selenium。我已经设置了如下代理:

DesiredCapabilities capabilities = DesiredCapabilities.phantomjs();
capabilities.setJavascriptEnabled(true);
System.setProperty("phantomjs.binary.path", "../Drivers/phantomjs.exe");

ArrayList<String> cliArgsCap = new ArrayList<String>();
cliArgsCap.add("--proxy=hostname:port");
cliArgsCap.add("--proxy-auth=username:password");
cliArgsCap.add("--proxy-type=http");
capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cliArgsCap);

driver = new PhantomJSDriver(capabilities);

我的应用程序运行良好。但是如何验证我的应用程序是否使用了我设置的代理?

【问题讨论】:

  • 停止您的代理,启动应用程序并尝试加载任何网页。如果加载失败 - 您正在使用代理

标签: java selenium proxy phantomjs


【解决方案1】:

在运行您的主脚本之前,向显示客户端当前 IP 的http://api.ipify.org/ 发出请求,并检查代码是您的 IP 还是代理 IP。

【讨论】:

  • 谢谢。这个解决方案有帮助。
  • @Abhilash 如果此解决方案有帮助,请考虑接受它作为您问题的答案。
【解决方案2】:

您可以在本地使用fiddlersetup a proxy server,然后将您的 selenium 代理配置更改为您已设置的代理。让我们运行您的应用程序,如果您的应用程序抛出代理,那么 fiddler 将捕获它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-04
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 2015-11-03
    • 2010-11-07
    相关资源
    最近更新 更多