org.apache.tools.ant.taskdefs.optional.net

## Class SetProxy

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.net.SetProxy

- All Implemented Interfaces:
    java.lang.Cloneable

      public class SetProxy
      extends Task

  Sets Java's web proxy properties, so that tasks and code run in the same JVM can have through-the-firewall access to remote web sites, and remote ftp sites. You can nominate an http and ftp proxy, or a socks server, reset the server settings, or do nothing at all.

  Examples

      <setproxy/>

  do nothing

      <setproxy proxyhost="firewall"/>

  set the proxy to firewall:80

      <setproxy proxyhost="firewall" proxyport="81"/>

  set the proxy to firewall:81

      <setproxy proxyhost=""/>

  stop using the http proxy; don't change the socks settings

      <setproxy socksproxyhost="socksy"/>

  use socks via socksy:1080

      <setproxy socksproxyhost=""/>

  stop using the socks server.

  You can set a username and password for http with the `proxyHost` and `proxyPassword` attributes. These can also be used against SOCKS5 servers.

  Since:
    Ant 1.5
  See Also:
    https://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.lang.String` | `proxyHost` proxy details
    `protected int` | `proxyPort` name of proxy port

    - ### Fields inherited from class org.apache.tools.ant.Task

      `target, taskName, taskType, wrapper`

    - ### Fields inherited from class org.apache.tools.ant.ProjectComponent

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SetProxy()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `applyWebProxySettings()` if the proxy port and host settings are not null, then the settings get applied these settings last beyond the life of the object and apply to all network connections Relevant docs: buglist #4183340
    `void` | `execute()` Does the work.
    `void` | `setNonProxyHosts(java.lang.String nonProxyHosts)` A list of hosts to bypass the proxy on.
    `void` | `setProxyHost(java.lang.String hostname)` the HTTP/ftp proxy host.
    `void` | `setProxyPassword(java.lang.String proxyPassword)` Set the password for the proxy.
    `void` | `setProxyPort(int port)` the HTTP/ftp proxy port number; default is 80
    `void` | `setProxyUser(java.lang.String proxyUser)` set the proxy user.
    `void` | `setSocksProxyHost(java.lang.String host)` The name of a Socks server.
    `void` | `setSocksProxyPort(int port)` Set the ProxyPort for socks connections.

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### proxyHost

          protected java.lang.String proxyHost

      proxy details

    - #### proxyPort

          protected int proxyPort

      name of proxy port

  - ### Constructor Detail

    - #### SetProxy

          public SetProxy()

  - ### Method Detail

    - #### setProxyHost

          public void setProxyHost(java.lang.String hostname)

      the HTTP/ftp proxy host. Set this to "" for the http proxy option to be disabled
      Parameters:
        `hostname` - the new proxy hostname

    - #### setProxyPort

          public void setProxyPort(int port)

      the HTTP/ftp proxy port number; default is 80
      Parameters:
        `port` - port number of the proxy

    - #### setSocksProxyHost

          public void setSocksProxyHost(java.lang.String host)

      The name of a Socks server. Set to "" to turn socks proxying off.
      Parameters:
        `host` - The new SocksProxyHost value

    - #### setSocksProxyPort

          public void setSocksProxyPort(int port)

      Set the ProxyPort for socks connections. The default value is 1080
      Parameters:
        `port` - The new SocksProxyPort value

    - #### setNonProxyHosts

          public void setNonProxyHosts(java.lang.String nonProxyHosts)

      A list of hosts to bypass the proxy on. These should be separated with the vertical bar character '|'. Only in Java 1.4 does ftp use this list. e.g. fozbot.corp.sun.com|*.eng.sun.com
      Parameters:
        `nonProxyHosts` - lists of hosts to talk direct to

    - #### setProxyUser

          public void setProxyUser(java.lang.String proxyUser)

      set the proxy user. Probably requires a password to accompany this setting. Default=""
      Parameters:
        `proxyUser` - username
      Since:
        Ant1.6

    - #### setProxyPassword

          public void setProxyPassword(java.lang.String proxyPassword)

      Set the password for the proxy. Used only if the proxyUser is set.
      Parameters:
        `proxyPassword` - password to go with the username
      Since:
        Ant1.6

    - #### applyWebProxySettings

          public void applyWebProxySettings()

      if the proxy port and host settings are not null, then the settings get applied these settings last beyond the life of the object and apply to all network connections Relevant docs: buglist #4183340

    - #### execute

          public void execute()
                       throws BuildException

      Does the work.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - thrown in unrecoverable error.