code: public static String createTimestampAntiLeechUrl(
              String host, String fileName, final StringMap queryStringMap, String encryptKey, long deadline)
              throws QiniuException {
          URL urlObj = null;
          try {
              String urlToSign = null;
              if (queryStringMap != null && queryStringMap.size() > 0) {
                  List<String> queryStrings = new ArrayList<String>();
                  for (Map.Entry<String, Object> entry : queryStringMap.map().entrySet()) {
                      StringBuilder queryStringBuilder = new StringBuilder();
                      queryStringBuilder.append(URLEncoder.encode(entry.getKey(), "utf-8"));
                      queryStringBuilder.append("=");
                      queryStringBuilder.append(URLEncoder.encode(entry.getValue().toString(), "utf-8"));
                      queryStrings.add(queryStringBuilder.toString());
                  }
                  urlToSign = String.format("%s/%s?%s", host, fileName, StringUtils.join(queryStrings, "&"));
              } else {
                  urlToSign = String.format("%s/%s", host, fileName);
              }
  
              urlObj = new URL(urlToSign);
          } catch (Exception e) {
              throw new QiniuException(e, "timestamp anti leech failed");
          }
          return createTimestampAntiLeechUrl(urlObj, encryptKey, deadline);
      }
docs: 构建七牛标准的基于时间戳的防盗链
  参考文档：<a href="https://support.qiniu.com/question/195128">时间戳防盗链</a>
  
  @param host           自定义域名，例如 http://img.abc.com
  @param fileName       待访问的原始文件名，必须是utf8编码，不需要进行urlencode
  @param queryStringMap 业务自身的查询参数，必须是utf8编码，不需要进行urlencode
  @param encryptKey     时间戳防盗链的签名密钥，从七牛后台获取
  @param deadline       链接的有效期时间戳，是以秒为单位的Unix时间戳
  @return signedUrl     最终的带时间戳防盗链的url