code: def token_of_request(
              self,
              method,
              host,
              url,
              qheaders,
              content_type=None,
              body=None):
          
          parsed_url = urlparse(url)
          netloc = parsed_url.netloc
          path = parsed_url.path
          query = parsed_url.query
  
          if not host:
              host = netloc
  
          path_with_query = path
          if query != '':
              path_with_query = ''.join([path_with_query, '?', query])
          data = ''.join(["%s %s" %
                          (method, path_with_query), "\n", "Host: %s" %
                          host, "\n"])
  
          if content_type:
              data += "Content-Type: %s" % (content_type) + "\n"
  
          data += qheaders
          data += "\n"
  
          if content_type and content_type != "application/octet-stream" and body:
              data += body.decode(encoding='UTF-8')
  
          return '{0}:{1}'.format(self.__access_key, self.__token(data))
docs: <Method> <PathWithRawQuery>
          Host: <Host>
          Content-Type: <ContentType>
          [<X-Qiniu-*> Headers]
  
          [<Body>] #这里的 <Body> 只有在 <ContentType> 存在且不为 application/octet-stream 时才签进去。