代码之家  ›  专栏  ›  技术社区  ›  Amit

如何在Java中使用HTTP、SoCKS4和SoCKS5代理?

  •  5
  • Amit  · 技术社区  · 14 年前

    我想屏蔽一个网站,为此我想使用http,socks4和sock5代理。所以我的问题如下:

    1. 是否可以在不使用任何其他外部API的情况下通过Java使用这些代理?例如,是否可以通过 HttpURLConnection 通过这些代理?

    2. 如果不可能,那么我还可以使用其他哪些外部api?

    3. 我是通过使用 HtmlUnit 但即使是简单的网页也需要时间来加载,所以你能给我推荐其他的api(如果有的话)吗?这些api提供了无头浏览器,可以快速加载网页。我不想打开包含大量ajax或javascript代码的网页。我只需要通过无头浏览器点击表单按钮。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Pascal Thivent    14 年前

    是否可以在不使用任何其他外部API的情况下通过Java使用这些代理?例如,是否可以通过 HttpURLConnection 通过这些代理人?

    是的,可以通过使用(全局)系统属性或使用 Proxy 类,或使用 ProxySelector . 这两个后选项可以从Java 5获得,并且更加灵活。看一看 Java Networking and Proxies 正如Jarnbjo提到的所有细节。

    我用的是htmlunit提供的无头浏览器,但即使是简单的网页也需要时间加载,所以你能给我推荐其他的api(如果有的话)来提供快速加载网页的无头浏览器吗?我不想打开包含大量ajax或javascript代码的网页。我只需要通过无头浏览器点击表单按钮。

    不幸的是,我能想到的第一个选择是基于htmlunit(比如 JWebUnit WebTest )或者慢一点( Selenium , WebDriver -你可以在无头模式下运行)。但也许你可以试试 HttpUnit 如果不需要高级javascript支持。

        2
  •  1
  •   jarnbjo    14 年前

    是的,那是可能的。您可以找到不同网络代理的配置选项 here .