2009-05-04 19 views
5

Est-il possible d'envoyer un en-tête Http via une connexion URL en java? J'ai eu ce travail en utilisant des sockets, mais a rencontré des problèmes avec un pare-feu qui ne semble pas être un problème avec URLConnection. En regardant l'API, j'ai l'impression que les méthodes de sortie dans URLConnection sont juste pour remplir des formulaires, etc., ou peuvent-elles être utilisées pour envoyer mes propres en-têtes HTTP?Comment envoyer un en-tête HTTP dans java

Répondre

10

La méthode que vous voulez est setRequestProperty, mais je recommanderais d'utiliser Apaches HttpClient. Avec cette bibliothèque, vous avez un contrôle total sur la requête que vous voulez envoyer.

http://hc.apache.org/httpclient-3.x/tutorial.html

+0

Oui, httpclient est la norme de facto pour accessig HTTP à partir de Java. – stepancheg

+0

Merci, c'est probablement la meilleure façon de le faire, mais j'aurais dû mentionner que je dois m'en tenir aux bibliothèques Java standard – Simonw

+3

HttpClient est tout à fait dans le bon, mais ce n'est pas toujours nécessaire, et il a posé des questions sur URLConnection. Et vous n'avez même pas mentionné la méthode pertinente, qui est HttpMessage.setHeader (http://hc.apache.org/httpcomponents-core/httpcore/apidocs/org/apache/http/HttpMessage.html#setHeader(java.lang .String,% 20java.lang.String)). –