docs: def curlparse(string, encoding="utf-8"):
      """Translate curl-string into dict of request.
          :param string: standard curl-string, like `r'''curl ...'''`.
          :param encoding: encoding for post-data encoding.
  
      Basic Usage::
  
        >>> from torequests.utils import curlparse
        >>> curl_string = '''curl 'https://p.3.cn?skuIds=1&nonsense=1&nonce=0' -H 'Pragma: no-cache' -H 'DNT: 1' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Cache-Control: no-cache' -H 'Referer: https://p.3.cn?skuIds=1&nonsense=1&nonce=0' -H 'Cookie: ASPSESSIONIDSQRRSADB=MLHDPOPCAMBDGPFGBEEJKLAF' -H 'Connection: keep-alive' --compressed'''
        >>> request_args = curlparse(curl_string)
        >>> request_args
        {'url': 'https://p.3.cn?skuIds=1&nonsense=1&nonce=0', 'headers': {'Pragma': 'no-cache', 'Dnt': '1', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Cache-Control': 'no-cache', 'Referer': 'https://p.3.cn?skuIds=1&nonsense=1&nonce=0', 'Cookie': 'ASPSESSIONIDSQRRSADB=MLHDPOPCAMBDGPFGBEEJKLAF', 'Connection': 'keep-alive'}, 'method': 'get'}
        >>> import requests
        >>> requests.request(**request_args)
        <Response [200]>
      """
      assert "\n" not in string, 'curl-string should not contain \\n, try r"...".'
      if string.startswith("http"):
          return {"url": string, "method": "get"}
      args, unknown = _Curl.parser.parse_known_args(shlex.split(string.strip()))
      requests_args = {}
      headers = {}
      requests_args["url"] = args.url
      for header in args.header:
          key, value = header.split(":", 1)
          headers[key.title()] = value.strip()
      if args.user_agent:
          headers["User-Agent"] = args.user_agent
      if headers:
          requests_args["headers"] = headers
      if args.user:
          requests_args["auth"] = tuple(u for u in args.user.split(":", 1) + [""])[:2]
      # if args.proxy:
      # pass
      data = args.data or args.data_binary or args.form
      if data:
          if data.startswith("$"):
              data = data[1:]
          args.method = "post"
          if "application/x-www-form-urlencoded" in headers.get("Content-Type", ""):
              data = dict(
                  [
                      (i.split("=")[0], unquote_plus(i.split("=")[1]))
                      for i in data.split("&")
                  ]
              )
              requests_args["data"] = data
          else:
              data = data.encode(encoding)
              requests_args["data"] = data
      requests_args["method"] = args.method.lower()
      if args.connect_timeout:
          requests_args["timeout"] = args.connect_timeout
      return requests_args