whole_func_string: function(key,endWithSeparator) {
          var url = this.loadNecessaryString(key);
          if (!url) {
              exitProcess('empty url for ' + key, this.alarm);
              return false;
          }
          if (!url.startWith('http://') && !url.startWith('https://')) {
              exitProcess('invalid url:' + url, this.alarm);
              return false;
          }
          if (endWithSeparator && !url.endWith('/')) {
              exitProcess('the url['+url+'] must be end with /', this.alarm);
              return false;
          }
          if (!endWithSeparator && url.endWith('/')) {
              exitProcess('the url['+url+'] must not be end with /', this.alarm);
              return false;
          }
          return url;
      }
func_code_string: function(key,endWithSeparator) {
          var url = this.loadNecessaryString(key);
          if (!url) {
              exitProcess('empty url for ' + key, this.alarm);
              return false;
          }
          if (!url.startWith('http://') && !url.startWith('https://')) {
              exitProcess('invalid url:' + url, this.alarm);
              return false;
          }
          if (endWithSeparator && !url.endWith('/')) {
              exitProcess('the url['+url+'] must be end with /', this.alarm);
              return false;
          }
          if (!endWithSeparator && url.endWith('/')) {
              exitProcess('the url['+url+'] must not be end with /', this.alarm);
              return false;
          }
          return url;
      }
func_documentation_string: Get URL by key, the value must be exist, otherwise the process will exit.
  
  @param {KeyItem} key
  @param {Boolean} [endWithSeparator=false] If set ture, the key must be end with `/`.
  @returns {String}