Class Net

java.lang.Object
com.pnfsoftware.jeb.util.net.Net
All Implemented Interfaces:
INet

public class Net extends Object implements INet
A network object used to download from and upload to http/https URLs, with socks and http proxy support.
  • Constructor Details

    • Net

      public Net()
      Create a standard Net object, using global proxy settings set using setGlobalProxyInformation(NetProxyInfo). The user-agent is set to "PNF Software UP"; the timeouts are set to 60 seconds for connect, 30 seconds for read, 120 seconds for write; redirects are followed.
    • Net

      public Net(Net net0)
      Copy constructor.
      Parameters:
      net0 - an existing net object
  • Method Details

    • setGlobalProxyInformation

      public static void setGlobalProxyInformation(NetProxyInfo proxyinfo)
    • getGlobalProxyInformation

      public static NetProxyInfo getGlobalProxyInformation()
      Returns:
      optional proxy info object
    • duplicate

      public INet duplicate()
      Description copied from interface: INet
      Duplicate this object to perform safe parameter update.
      Specified by:
      duplicate in interface INet
      Returns:
      a new net object with the same properties as this object (timeouts, user-agent, etc.)
    • getProxyInformation

      public NetProxyInfo getProxyInformation()
    • setUserAgent

      public void setUserAgent(String userAgent)
      Specified by:
      setUserAgent in interface INet
      Parameters:
      userAgent - a user-agent
    • getUserAgent

      public String getUserAgent()
      Specified by:
      getUserAgent in interface INet
      Returns:
      the user-agent
    • setConnectTimeout

      public void setConnectTimeout(int timeout)
      Specified by:
      setConnectTimeout in interface INet
      Parameters:
      timeout - in milliseconds
    • getConnectTimeout

      public int getConnectTimeout()
      Specified by:
      getConnectTimeout in interface INet
      Returns:
      timeout in milliseconds
    • setReadTimeout

      public void setReadTimeout(int timeout)
      Specified by:
      setReadTimeout in interface INet
      Parameters:
      timeout - timeout in milliseconds
    • getReadTimeout

      public int getReadTimeout()
      Specified by:
      getReadTimeout in interface INet
      Returns:
      timeout in milliseconds
    • setWriteTimeout

      public void setWriteTimeout(int timeout)
      Specified by:
      setWriteTimeout in interface INet
      Parameters:
      timeout - timeout in milliseconds
    • getWriteTimeout

      public int getWriteTimeout()
      Specified by:
      getWriteTimeout in interface INet
      Returns:
      timeout in milliseconds
    • getSecureSocketInfo

      public SecureSocketInfo getSecureSocketInfo()
      Specified by:
      getSecureSocketInfo in interface INet
      Returns:
    • setSecureSocketInfo

      public void setSecureSocketInfo(SecureSocketInfo info)
      Specified by:
      setSecureSocketInfo in interface INet
    • post

      public String post(String url, Map<String,String> urlParams, Map<String,String> bodyParams, Map<String,String> serverHeaders) throws IOException
      Description copied from interface: INet
      Perform an http POST request to send a simple form.
      Specified by:
      post in interface INet
      Parameters:
      url - url with optional parameters
      urlParams - optional additional url parameters
      bodyParams - request content parameters
      Returns:
      the server response
      Throws:
      IOException - on error
    • post

      public String post(String url, Map<String,String> urlParams, Map<String,String> bodyParams) throws IOException
      Specified by:
      post in interface INet
      Returns:
      Throws:
      IOException
    • postMultipart

      public String postMultipart(String url, Map<String,String> formParams, Map<String,FormFileEntry> formFiles, Map<String,String> serverHeaders) throws IOException
      Description copied from interface: INet
      Perform an http POST request to send a form using the multipart/form-data encoding.
      Specified by:
      postMultipart in interface INet
      Parameters:
      url - url with optional parameters
      formParams - optional request content parameters
      formFiles - optional request content files
      Returns:
      the server response
      Throws:
      IOException - on error
    • postMultipart

      public String postMultipart(String url, Map<String,String> formParams, Map<String,FormFileEntry> formFiles) throws IOException
      Specified by:
      postMultipart in interface INet
      Returns:
      Throws:
      IOException
    • query

      public String query(String url, Map<String,String> urlParams, Map<String,String> serverHeaders) throws IOException
      Description copied from interface: INet
      Perform an http GET request.
      Specified by:
      query in interface INet
      Parameters:
      url - url with optional parameters
      urlParams - optional additional url parameters
      Returns:
      the server response
      Throws:
      IOException - on error
    • query

      public String query(String url, Map<String,String> parameters) throws IOException
      Specified by:
      query in interface INet
      Returns:
      Throws:
      IOException
    • query

      public String query(String url) throws IOException
      Description copied from interface: INet
      Perform an http GET request.
      Specified by:
      query in interface INet
      Parameters:
      url - url with optional parameters
      Returns:
      the server response
      Throws:
      IOException - on error
    • queryBinary

      public byte[] queryBinary(String url, Map<String,String> urlParams, Map<String,String> serverHeaders, IProgressCallback progressCallback) throws IOException
      Description copied from interface: INet
      Perform an http GET request.
      Specified by:
      queryBinary in interface INet
      progressCallback - optional listener
      Returns:
      the server response
      Throws:
      IOException
    • queryBinary

      public byte[] queryBinary(String url, Map<String,String> urlParams, Map<String,String> serverHeaders) throws IOException
      Description copied from interface: INet
      Perform an http GET request.
      Specified by:
      queryBinary in interface INet
      Parameters:
      url - url with optional parameters
      urlParams - optional additional url parameters
      Returns:
      the server response
      Throws:
      IOException - on error
    • queryBinary

      public byte[] queryBinary(String url, Map<String,String> parameters) throws IOException
      Specified by:
      queryBinary in interface INet
      Returns:
      Throws:
      IOException
    • queryBinary

      public byte[] queryBinary(String url) throws IOException
      Description copied from interface: INet
      Perform an http GET request.
      Specified by:
      queryBinary in interface INet
      Parameters:
      url - url with optional parameters
      Returns:
      the server response
      Throws:
      IOException - on error
    • downloadBinary

      public long downloadBinary(File dstfile, String url, Map<String,String> urlParams, Map<String,String> serverHeaders, IProgressCallback progressCallback) throws IOException
      Description copied from interface: INet
      Download a binary and dump it to disk. Similar to INet.queryBinary(String, Map, Map, IProgressCallback), but the downloaded data is not stored and returned, therefore making this method more suitable to download Large files.
      Specified by:
      downloadBinary in interface INet
      progressCallback - optional listener
      Returns:
      the server response
      Throws:
      IOException
    • convertHttpDateToEpoch

      public static long convertHttpDateToEpoch(String dateString)
      An HTTP Date.
      Parameters:
      dateString -
      Returns:
      epoch in ms; 0 on error (that is, Jan 1 1970)
    • isConnectedToNetwork

      public static boolean isConnectedToNetwork()
      Determine if the system offers at least one active non-loopback network interface. Careful! This cannot be used to reliably find out if the system has an Internet connection.
      Returns:
      true or false
    • isConnectedToInternet

      public static boolean isConnectedToInternet()
      Determine if the system appears to be connected to the Internet.
      Returns:
      true or false