Quelle est la bonne façon de régler les en-têtes dans un URLConnection?
Mon code est comme suit:
URLConnection cnx = address.openConnection();
cnx.setAllowUserInteraction(false);
cnx.setDoOutput(true);
cnx.addRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
InputStream is = cnx.getInputStream();
Est-ce ok si je mets les en-têtes avant que je l InputStream
? Mon en-tête être envoyé, ou le serveur de voir la valeur par défaut URLConnection
's de l'agent utilisateur ( le cas échéant ) ?
Vous devez vous connecter pour publier un commentaire.
Les en-têtes doit être réglés avant l'obtention de la
InputStream
avoir une incidence sur unIllegalStateException
sera levée si la connexion est déjà ouvert.Autant que la
User-Agent
en-tête spécifiquement, il doit être envoyé si elle a été définie.Voir le URLConnection JavaDoc.
Pour répondre à la question, le code est correct. Le moment getInputStream(), un HTTP get est envoyé vers le serveur cible.
Un côté-note sur les user-agent, si vous n'en avez pas, URLConnection enverra la valeur par défaut de toute façon, qui est:
Je déconseillerais à l'aide de bas niveau des constructions telles que URLConnection. Il ya beaucoup de bibliothèques pour l'envoi de requêtes HTTP, les plus importantes étant Client HTTP Apache.