code: public String getObjectUrl(String bucketName, String objectName)
      throws InvalidBucketNameException, NoSuchAlgorithmException, InsufficientDataException, IOException,
             InvalidKeyException, NoResponseException, XmlPullParserException, ErrorResponseException,
             InternalException {
      Request request = createRequest(Method.GET, bucketName, objectName, getRegion(bucketName),
          null, null, null, null, 0);
      HttpUrl url = request.url();
      return url.toString();
    }
docs: Gets object's URL in given bucket.  The URL is ONLY useful to retrieve the object's data if the object has
  public read permissions.
  
  <p><b>Example:</b>
  <pre>{@code String url = minioClient.getObjectUrl("my-bucketname", "my-objectname");
  System.out.println(url); }</pre>
  
  @param bucketName Bucket name.
  @param objectName Object name in the bucket.
  
  @return string contains URL to download the object.
  
  @throws InvalidBucketNameException  upon invalid bucket name is given
  @throws NoSuchAlgorithmException
  upon requested algorithm was not found during signature calculation
  @throws InsufficientDataException  upon getting EOFException while reading given
  InputStream even before reading given length
  @throws IOException                 upon connection error
  @throws InvalidKeyException
  upon an invalid access key or secret key
  @throws NoResponseException         upon no response from server
  @throws XmlPullParserException      upon parsing response xml
  @throws ErrorResponseException      upon unsuccessful execution
  @throws InternalException           upon internal library error