Java HttpURLConnection: Longueur du Contenu de calcul

Je suis actuellement à l'élaboration d'une bibliothèque pour la bitbucket questions API RESTful. J'ai fait de bons progrès et maintenant, je vais attaquer la section La mise à jour d'un Problème qui demande une Requête HTTP PUT.

Maintenant, je suis coincé à cause du Code d'Erreur HTTP 411 Length Required. Après un peu de recherche sur google, j'ai trouvé le suivant exemple de code:

//CORRECT: get a UTF-8 encoded byte array from the response
//String and set the content-length to the length of the
//resulting byte array.
String response = [insert XML with UTF-8 characters here];
byte[] responseBytes;
try {
    responseBytes = response.getBytes("UTF-8");
}
catch ( UnsupportedEncodingException e ) {
    System.err.print("My computer hates UTF-8");
}

this.contentLength_ = responseBytes.length;

Maintenant, ma question: Quel est exactement mesurée?

  • la chaîne de requête
  • la urlencoded chaîne de requête
  • seulement les valeurs des paramètres...??

Et est connection.setRequestProperty("Content-Length", String.valueOf(<mycomputedInt>)); un appriopate mode de réglage de la longueur du contenu de l'attribut?

Exemples apprécié. Merci à l'avance.


edit:

Par exemple, vous pourriez expliquer le calcul avec le curl suivante exemple de la bitbucket entrée wiki:

curl -X PUT -d "content=Updated%20Content" \
https://api.bitbucket.org/1.0/repositories/sarahmaddox/sarahmaddox/issues/1/

OriginalL'auteur phineas | 2011-06-15