I believe this patch should fix the problem. Could you apply it and let me know if it fixes things for you?
2005-07-02 Hrvoje Niksic <[EMAIL PROTECTED]> * http.c (gethttp): Except for head_only, use skip_short_body to skip the non-20x error message before leaving gethttp. Index: src/http.c =================================================================== --- src/http.c (revision 1851) +++ src/http.c (working copy) @@ -1889,11 +1889,17 @@ hs->len = 0; hs->res = 0; xfree_null (type); - /* Pre-1.10 Wget used CLOSE_INVALIDATE here. Now we trust the - servers not to send body in response to a HEAD request. If - you encounter such a server (more likely a broken CGI), use - `--no-http-keep-alive'. */ - CLOSE_FINISH (sock); + if (head_only) + /* Pre-1.10 Wget used CLOSE_INVALIDATE here. Now we trust the + servers not to send body in response to a HEAD request. If + you encounter such a server (more likely a broken CGI), use + `--no-http-keep-alive'. */ + CLOSE_FINISH (sock); + else if (keep_alive && skip_short_body (sock, contlen)) + /* Successfully skipped the body; also keep using the socket. */ + CLOSE_FINISH (sock); + else + CLOSE_INVALIDATE (sock); return RETRFINISHED; }