SetProxy (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.net, class: SetProxy

# 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:
  `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
  Description
  `protected String`
  `proxyHost`
  proxy details
  `protected int`
  `proxyPort`
  name of proxy port

  ### Fields inherited from class Task

  `target, taskName, taskType, wrapper`
  Modifier and Type
  Field
  Description
  `protected Target`
  `target`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskName`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskType`
  Deprecated.
  since 1.6.x.
  `protected RuntimeConfigurable`
  `wrapper`
  Deprecated.
  since 1.6.x.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SetProxy()`

- ## Method Summary

  Modifier and Type
  Method
  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(String nonProxyHosts)`
  A list of hosts to bypass the proxy on.
  `void`
  `setProxyHost(String hostname)`
  the HTTP/ftp proxy host.
  `void`
  `setProxyPassword(String proxyPassword)`
  Set the password for the proxy.
  `void`
  `setProxyPort(int port)`
  the HTTP/ftp proxy port number; default is 80
  `void`
  `setProxyUser(String proxyUser)`
  set the proxy user.
  `void`
  `setSocksProxyHost(String host)`
  The name of a Socks server.
  `void`
  `setSocksProxyPort(int port)`
  Set the ProxyPort for socks connections.

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `final void`
  `bindToOwner(Task owner)`
  Bind a task to another; use this when configuring a newly created task to do work on behalf of another.
  `Target`
  `getOwningTarget()`
  Returns the container target of this task.
  `RuntimeConfigurable`
  `getRuntimeConfigurableWrapper()`
  Returns the wrapper used for runtime configuration.
  `String`
  `getTaskName()`
  Returns the name to use in logging messages.
  `String`
  `getTaskType()`
  Return the type of task.
  `protected RuntimeConfigurable`
  `getWrapper()`
  Return the runtime configurable structure for this task.
  `protected void`
  `handleErrorFlush(String output)`
  Handles an error line by logging it with the WARN priority.
  `protected void`
  `handleErrorOutput(String output)`
  Handles an error output by logging it with the WARN priority.
  `protected void`
  `handleFlush(String output)`
  Handles output by logging it with the INFO priority.
  `protected int`
  `handleInput(byte[] buffer, int offset, int length)`
  Handle an input request by this task.
  `protected void`
  `handleOutput(String output)`
  Handles output by logging it with the INFO priority.
  `void`
  `init()`
  Called by the project to let the task initialize properly.
  `protected final boolean`
  `isInvalid()`
  Has this task been marked invalid?
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(String msg, Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `maybeConfigure()`
  Configures this task - if it hasn't been done already.
  `final void`
  `perform()`
  Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
  `void`
  `reconfigure()`
  Force the task to be reconfigured from its RuntimeConfigurable.
  `void`
  `setOwningTarget(Target target)`
  Sets the target container of this task.
  `void`
  `setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)`
  Sets the wrapper to be used for runtime configuration.
  `void`
  `setTaskName(String name)`
  Sets the name to use in logging messages.
  `void`
  `setTaskType(String type)`
  Sets the name with which the task has been invoked.

  ### Methods inherited from class ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### proxyHost

    protected String proxyHost
    proxy details

  - ### proxyPort

    protected int proxyPort
    name of proxy port

- ## Constructor Details

  - ### SetProxy

    public SetProxy()

- ## Method Details

  - ### setProxyHost

    public void setProxyHost(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(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(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(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(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.