2009-11-05 3 views
0

Si vous exécutez cette commande:Comment forcer une commande Http HEAD à se terminer (pour HttpClient et curl)?

$ curl -XHEAD -i -H "User-Agent: myuseragent" http://www.google.com 
HTTP/1.1 302 Found 
... snip ... 
Server: gws 
Content-Length: 222 
X-XSS-Protection: 0 

vous remarquerez immédiatement que le blocage d'une commande curl. (Je cours ceci dans cygwin/VISTA)

Si vous l'exécutez contre twitter ou facebook, curl se termine immédiatement. Je soupçonne que c'est parce que twitter & facebook renvoie Connection: close.

Dans mon application Android cupcake 1.5, j'exécute la même commande en utilisant le framework HttpClient. Et je remarque que la connexion se bloque mais se termine après le délai d'attente (Dieu merci pour Http 4.0 !!).

Existe-t-il une option permettant à HttpClient de se terminer une fois que j'ai reçu les en-têtes HTTP pertinents HEAD ?

Répondre

2

Avez-vous essayé d'ajouter l'en-tête "Connection: close" à votre demande? Cela devrait indiquer au serveur que vous ne voulez pas une connexion persistante.

+0

Je vais essayer ça. Je pensais que Connection: Close est envoyé uniquement du serveur au client. –

+0

Ça marche! Merci beaucoup. –

Questions connexes