[
https://issues.apache.org/jira/browse/HTTPCLIENT-899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789513#action_12789513
]
Alexey Fansky commented on HTTPCLIENT-899:
------------------------------------------
Oleg,
Thank you for your response. This is acceptable. Please close the issue.
Btw adding slashes to all URIs is really bad idea :) For example URIs like
http://server/dir/file.html are proccessed incorrectly.
I will investigate on this and if I find any good solution I will email to
maiilist.
Thanks,
Alexey.
> Traling slash is not added to the end of Location header value when
> proccessing redirect.
> -----------------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-899
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-899
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient
> Affects Versions: 4.0.1
> Environment: httpclient-4.0.1
> Reporter: Alexey Fansky
> Priority: Minor
> Fix For: 4.1 Alpha2
>
>
> When httpclient receives 302(or any other redirect) response from server, it
> redirects directly to Location header value without adding trailing slash to
> the end of uri. Please see log:
> 13:01:03,627 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultClientConnection - Receiving response:
> HTTP/1.0 302 Found
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - << HTTP/1.0
> 302 Found
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - << Date:
> Fri, 11 Dec 2009 11:01:05 GMT
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - << Server:
> ZX_Spectrum/1997 (Sinclair_BASIC)
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - <<
> Set-Cookie: Virtual_id=26; path=/; domain=.yandex.ru;
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - <<
> Location: http://narod.yandex.ru
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - <<
> Content-Type: text/html; charset=windows-1251
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - << X-Cache:
> MISS from narod.yandex.ru
> 13:01:03,627 DEBUG threadPoolExecuter-1 org.apache.http.headers - <<
> Connection: close
> 13:01:03,627 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.ResponseProcessCookies - Cookie accepted:
> "[version: 0][name: Virtual_id][value: 26][domain: .yandex.ru][path:
> /][expiry: null]".
> 13:01:03,627 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.DefaultRedirectHandler - Redirect requested to
> location 'http://narod.yandex.ru'
> 13:01:03,627 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.ClientParamsStack - 'http.route.default-proxy':
> http://79.117.160.xxx:8000
> 13:01:03,627 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.DefaultRequestDirector - Redirecting to
> 'http://narod.yandex.ru' via
> HttpRoute[{}->http://79.117.160.xxx:8000->http://narod.yandex.ru]
> 13:01:03,627 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultClientConnection - Connection closed
> 13:01:03,811 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.ClientParamsStack - 'http.tcp.nodelay': true
> 13:01:03,811 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.ClientParamsStack - 'http.socket.buffer-size':
> 8192
> 13:01:03,811 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.ClientParamsStack - 'http.protocol.version':
> HTTP/1.1
> 13:01:03,811 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.ClientParamsStack - 'http.useragent': Mozilla/4.0
> (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.02
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.ClientParamsStack -
> 'http.protocol.cookie-policy': compatibility
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - CookieSpec selected:
> compatibility
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - Cookie [version: 0][name:
> yandex_mail][value: o-razocharovannyi2009][domain: .yandex.ru][path:
> /][expiry: null] match [narod.yandex.ru:80/]
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - Cookie [version: 0][name:
> yandex_login][value: o.razocharovannyi2009][domain: .yandex.ru][path:
> /][expiry: null] match [narod.yandex.ru:80/]
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - Cookie [version: 0][name:
> Session_id][value:
> 1260529235.-4301.0.79308534.2:216563882:250.8:1260529235871:1333108959:15.62953.10893.2cc1963276a9d131887679b99a753abf][domain:
> .yandex.ru][path: /][expiry: null] match [narod.yandex.ru:80/]
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - Cookie [version: 0][name:
> L][value:
> Rlc7XlBoBGJjY0FWfkZ4WnVWAlhja1puCQ1FKUVAVjUBXTMMHwQuCQwXZxgXDSgiXS9KXj4QWhouDGAJSFY1fw==.1260529235.6343.211563.a4588e45abb86ea112f2c24ab959eca9][domain:
> .yandex.ru][path: /][expiry: Thu Mar 11 13:00:35 EET 2010] match
> [narod.yandex.ru:80/]
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - Cookie [version: 0][name:
> yandexuid][value: 872959911260529238][domain: .yandex.ru][path: /][expiry:
> Mon Dec 09 13:00:38 EET 2019] match [narod.yandex.ru:80/]
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.client.protocol.RequestAddCookies - Cookie [version: 0][name:
> Virtual_id][value: 26][domain: .yandex.ru][path: /][expiry: null] match
> [narod.yandex.ru:80/]
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.impl.client.DefaultRequestDirector - Attempt 5 to execute
> request
> 13:01:03,812 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultClientConnection - Sending request: GET
> http://narod.yandex.ru HTTP/1.1
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.wire - >> "GET
> http://narod.yandex.ru HTTP/1.1[EOL]"
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.wire - >> "Host:
> narod.yandex.ru[EOL]"
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.wire - >>
> "Proxy-Connection: Keep-Alive[EOL]"
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.wire - >>
> "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera
> 8.02[EOL]"
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.wire - >> "Cookie:
> yandex_mail=o-razocharovannyi2009; yandex_login=o.razocharovannyi2009;
> Session_id=1260529235.-4301.0.79308534.2:216563882:250.8:1260529235871:1333108959:15.62953.10893.2cc1963276a9d131887679b99a753abf;
>
> L=Rlc7XlBoBGJjY0FWfkZ4WnVWAlhja1puCQ1FKUVAVjUBXTMMHwQuCQwXZxgXDSgiXS9KXj4QWhouDGAJSFY1fw==.1260529235.6343.211563.a4588e45abb86ea112f2c24ab959eca9;
> yandexuid=872959911260529238; Virtual_id=26[EOL]"
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.wire - >> "[EOL]"
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.headers - >> GET
> http://narod.yandex.ru HTTP/1.1
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.headers - >> Host:
> narod.yandex.ru
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.headers - >>
> Proxy-Connection: Keep-Alive
> 13:01:03,812 DEBUG threadPoolExecuter-1 org.apache.http.headers - >>
> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.02
> 13:01:03,813 DEBUG threadPoolExecuter-1 org.apache.http.headers - >> Cookie:
> yandex_mail=o-razocharovannyi2009; yandex_login=o.razocharovannyi2009;
> Session_id=1260529235.-4301.0.79308534.2:216563882:250.8:1260529235871:1333108959:15.62953.10893.2cc1963276a9d131887679b99a753abf;
>
> L=Rlc7XlBoBGJjY0FWfkZ4WnVWAlhja1puCQ1FKUVAVjUBXTMMHwQuCQwXZxgXDSgiXS9KXj4QWhouDGAJSFY1fw==.1260529235.6343.211563.a4588e45abb86ea112f2c24ab959eca9;
> yandexuid=872959911260529238; Virtual_id=26
> 13:01:06,374 DEBUG threadPoolExecuter-1 org.apache.http.wire - << "<!DOCTYPE
> HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">[EOL]"
> 13:01:06,374 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> 13:01:06,374 DEBUG threadPoolExecuter-1 org.apache.http.wire - <<
> "<HTML><HEAD>[EOL]"
> 13:01:06,374 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> <HTML><HEAD>
> 13:01:06,374 DEBUG threadPoolExecuter-1 org.apache.http.wire - << "<TITLE>400
> Bad Request</TITLE>[EOL]"
> 13:01:06,375 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> <TITLE>400 Bad Request</TITLE>
> 13:01:06,375 DEBUG threadPoolExecuter-1 org.apache.http.wire - <<
> "</HEAD><BODY>[EOL]"
> 13:01:06,375 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> </HEAD><BODY>
> 13:01:06,375 DEBUG threadPoolExecuter-1 org.apache.http.wire - << "<H1>Bad
> Request</H1>[EOL]"
> 13:01:06,375 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> <H1>Bad Request</H1>
> 13:01:06,375 DEBUG threadPoolExecuter-1 org.apache.http.wire - << "Your
> browser sent a request that this server could not understand.<P>[EOL]"
> 13:01:06,375 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response: Your
> browser sent a request that this server could not understand.<P>
> 13:01:06,375 DEBUG threadPoolExecuter-1 org.apache.http.wire - << "Invalid
> URI in request GET HTTP/1.1<P>[EOL]"
> 13:01:06,375 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> Invalid URI in request GET HTTP/1.1<P>
> 13:01:06,375 DEBUG threadPoolExecuter-1 org.apache.http.wire - <<
> "</BODY></HTML>[EOL]"
> 13:01:06,375 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultResponseParser - Garbage in response:
> </BODY></HTML>
> 13:01:08,374 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultClientConnection - Connection closed
> 13:01:08,374 DEBUG threadPoolExecuter-1
> org.apache.http.impl.conn.DefaultClientConnection - Connection shut down
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]