docs: def submit(recaptcha_response_field,
             secret_key,
             remoteip,
             verify_server=VERIFY_SERVER):
      """
      Submits a reCAPTCHA request for verification. Returns RecaptchaResponse
      for the request
  
      recaptcha_response_field -- The value from the form
      secret_key -- your reCAPTCHA secret key
      remoteip -- the user's ip address
      """
  
      if not (recaptcha_response_field and len(recaptcha_response_field)):
          return RecaptchaResponse(
              is_valid=False,
              error_code='incorrect-captcha-sol'
          )
  
      def encode_if_necessary(s):
          if isinstance(s, unicode):
              return s.encode('utf-8')
          return s
  
      params = urllib.urlencode({
          'secret': encode_if_necessary(secret_key),
          'remoteip': encode_if_necessary(remoteip),
          'response': encode_if_necessary(recaptcha_response_field),
      })
  
      request = Request(
          url="https://%s/recaptcha/api/siteverify" % verify_server,
          data=params,
          headers={
              "Content-type": "application/x-www-form-urlencoded",
              "User-agent": "noReCAPTCHA Python"
          }
      )
  
      httpresp = urlopen(request)
  
      return_values = json.loads(httpresp.read())
      httpresp.close()
  
      return_code = return_values['success']
      error_codes = return_values.get('error-codes', [])
  
      if return_code:
          return RecaptchaResponse(is_valid=True)
      else:
          return RecaptchaResponse(
              is_valid=False,
              error_code=error_codes
          )