hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1452) in case of a redirect a wrong host param is set to http header
Date Mon, 27 Jan 2014 09:16:38 GMT

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13882649#comment-13882649
] 

Oleg Kalnichevski commented on HTTPCLIENT-1452:
-----------------------------------------------

In my tests HttpClient handle the url just fine. Do you by any chance set 'Host' header manually
in your request?

{noformat}
[DEBUG] RequestAddCookies - CookieSpec selected: best-match
[DEBUG] RequestAuthCache - Auth cache not set in the context
[DEBUG] PoolingHttpClientConnectionManager - Connection request: [route: {}->http://it.bing.com:80][total
kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 20]
[DEBUG] PoolingHttpClientConnectionManager - Connection leased: [id: 0][route: {}->http://it.bing.com:80][total
kept alive: 0; route allocated: 1 of 2; total allocated: 1 of 20]
[DEBUG] MainClientExec - Opening connection {}->http://it.bing.com:80
[DEBUG] HttpClientConnectionManager - Connecting to it.bing.com/204.79.197.200:80
[DEBUG] MainClientExec - Executing request GET / HTTP/1.1
[DEBUG] MainClientExec - Target auth state: UNCHALLENGED
[DEBUG] MainClientExec - Proxy auth state: UNCHALLENGED
[DEBUG] headers - http-outgoing-0 >> GET / HTTP/1.1
[DEBUG] headers - http-outgoing-0 >> Host: it.bing.com
[DEBUG] headers - http-outgoing-0 >> Connection: Keep-Alive
[DEBUG] headers - http-outgoing-0 >> User-Agent: Apache-HttpClient/4.3.1 (java 1.5)
[DEBUG] headers - http-outgoing-0 >> Accept-Encoding: gzip,deflate
[DEBUG] headers - http-outgoing-0 << HTTP/1.1 302 Found
[DEBUG] headers - http-outgoing-0 << Content-Length: 0
[DEBUG] headers - http-outgoing-0 << Cache-Control: private
[DEBUG] headers - http-outgoing-0 << Date: Mon, 27 Jan 2014 09:12:13 GMT
[DEBUG] headers - http-outgoing-0 << Edge-control: no-store
[DEBUG] headers - http-outgoing-0 << Location: http://www.bing.com/
[DEBUG] headers - http-outgoing-0 << P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa
PSDa OUR IND"
[DEBUG] headers - http-outgoing-0 << Server: Microsoft-IIS/8.0
[DEBUG] headers - http-outgoing-0 << Set-Cookie: _HOP=I=1&TS=1390813933; domain=.bing.com;
path=/
[DEBUG] headers - http-outgoing-0 << X-MSEdge-Ref: Ref A: 1D47A4EC6C8D4FD4A6ABA6C7F18A77A2
Ref B: E4AE72DBE1A868881FAE39430226A82D Ref C: Mon Jan 27 01:12:13 2014 PST
[DEBUG] MainClientExec - Connection can be kept alive indefinitely
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: _HOP][value: I=1&TS=1390813933][domain:
.bing.com][path: /][expiry: null]". 
[DEBUG] DefaultRedirectStrategy - Redirect requested to location 'http://www.bing.com/'
[DEBUG] RedirectExec - Resetting target auth state
[DEBUG] RedirectExec - Redirecting to 'http://www.bing.com/' via {}->http://www.bing.com:80
[DEBUG] PoolingHttpClientConnectionManager - Connection [id: 0][route: {}->http://it.bing.com:80]
can be kept alive indefinitely
[DEBUG] PoolingHttpClientConnectionManager - Connection released: [id: 0][route: {}->http://it.bing.com:80][total
kept alive: 1; route allocated: 1 of 2; total allocated: 1 of 20]
[DEBUG] RequestAddCookies - CookieSpec selected: best-match
[DEBUG] RequestAddCookies - Cookie [version: 0][name: _HOP][value: I=1&TS=1390813933][domain:
.bing.com][path: /][expiry: null] match [www.bing.com:80/]
[DEBUG] RequestAuthCache - Auth cache not set in the context
[DEBUG] PoolingHttpClientConnectionManager - Connection request: [route: {}->http://www.bing.com:80][total
kept alive: 1; route allocated: 0 of 2; total allocated: 1 of 20]
[DEBUG] PoolingHttpClientConnectionManager - Connection leased: [id: 1][route: {}->http://www.bing.com:80][total
kept alive: 1; route allocated: 1 of 2; total allocated: 2 of 20]
[DEBUG] MainClientExec - Opening connection {}->http://www.bing.com:80
[DEBUG] HttpClientConnectionManager - Connecting to www.bing.com/204.79.197.200:80
[DEBUG] MainClientExec - Executing request GET / HTTP/1.1
[DEBUG] MainClientExec - Target auth state: UNCHALLENGED
[DEBUG] MainClientExec - Proxy auth state: UNCHALLENGED
[DEBUG] headers - http-outgoing-1 >> GET / HTTP/1.1
[DEBUG] headers - http-outgoing-1 >> Host: www.bing.com
[DEBUG] headers - http-outgoing-1 >> Connection: Keep-Alive
[DEBUG] headers - http-outgoing-1 >> User-Agent: Apache-HttpClient/4.3.1 (java 1.5)
[DEBUG] headers - http-outgoing-1 >> Cookie: _HOP=I=1&TS=1390813933
[DEBUG] headers - http-outgoing-1 >> Cookie2: $Version=1
[DEBUG] headers - http-outgoing-1 >> Accept-Encoding: gzip,deflate
[DEBUG] headers - http-outgoing-1 << HTTP/1.1 200 OK
[DEBUG] headers - http-outgoing-1 << Content-Type: text/html; charset=utf-8
[DEBUG] headers - http-outgoing-1 << Transfer-Encoding: chunked
[DEBUG] headers - http-outgoing-1 << Cache-Control: private, max-age=0
[DEBUG] headers - http-outgoing-1 << Date: Mon, 27 Jan 2014 09:12:13 GMT
[DEBUG] headers - http-outgoing-1 << Edge-control: no-store
[DEBUG] headers - http-outgoing-1 << P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa
PSDa OUR IND"
[DEBUG] headers - http-outgoing-1 << Server: Microsoft-IIS/8.0
[DEBUG] headers - http-outgoing-1 << Set-Cookie: _FP=EM=1; expires=Wed, 27-Jan-2016
09:12:13 GMT; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: _FS=NU=1; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: _HOP=; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: _SS=SID=DC4C8923094E4A03B1F755E1AE7A516D;
domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: MUID=0894F6C9C2B063850387F306C391634C;
expires=Wed, 27-Jan-2016 09:12:13 GMT; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: MUIDB=0894F6C9C2B063850387F306C391634C;
expires=Wed, 27-Jan-2016 09:12:13 GMT; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: OrigMUID=0894F6C9C2B063850387F306C391634C%2c7f34e0f623a34b9e909e7f6dd3ae428f;
expires=Wed, 27-Jan-2016 09:12:13 GMT; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: SRCHD=D=3194472&MS=3194472&AF=NOFORM;
expires=Wed, 27-Jan-2016 09:12:13 GMT; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: SRCHUID=V=2&GUID=610E5FF2D3E54349820C0345EAF8DD77;
expires=Wed, 27-Jan-2016 09:12:13 GMT; path=/
[DEBUG] headers - http-outgoing-1 << Set-Cookie: SRCHUSR=AUTOREDIR=0&GEOVAR=&DOB=20140127;
expires=Wed, 27-Jan-2016 09:12:13 GMT; domain=.bing.com; path=/
[DEBUG] headers - http-outgoing-1 << X-MSEdge-Ref: Ref A: 8F64B72A6FB245FEA437BCFC4289B0E0
Ref B: BF878FE1A8A69C061851F1ABAC706BAE Ref C: Mon Jan 27 01:12:13 2014 PST
[DEBUG] MainClientExec - Connection can be kept alive indefinitely
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: _FP][value: EM=1][domain:
.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: _FS][value: NU=1][domain:
.bing.com][path: /][expiry: null]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: _HOP][value: ][domain:
.bing.com][path: /][expiry: null]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: _SS][value: SID=DC4C8923094E4A03B1F755E1AE7A516D][domain:
.bing.com][path: /][expiry: null]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: MUID][value: 0894F6C9C2B063850387F306C391634C][domain:
.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: MUIDB][value: 0894F6C9C2B063850387F306C391634C][domain:
www.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: OrigMUID][value: 0894F6C9C2B063850387F306C391634C%2c7f34e0f623a34b9e909e7f6dd3ae428f][domain:
.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: SRCHD][value: D=3194472&MS=3194472&AF=NOFORM][domain:
.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: SRCHUID][value: V=2&GUID=610E5FF2D3E54349820C0345EAF8DD77][domain:
www.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] ResponseProcessCookies - Cookie accepted: "[version: 0][name: SRCHUSR][value: AUTOREDIR=0&GEOVAR=&DOB=20140127][domain:
.bing.com][path: /][expiry: Wed Jan 27 10:12:13 CET 2016]". 
[DEBUG] DefaultManagedHttpClientConnection - http-outgoing-1: Shutdown connection
[DEBUG] MainClientExec - Connection discarded
[DEBUG] DefaultManagedHttpClientConnection - http-outgoing-1: Close connection
[DEBUG] PoolingHttpClientConnectionManager - Connection released: [id: 1][route: {}->http://www.bing.com:80][total
kept alive: 1; route allocated: 0 of 2; total allocated: 1 of 20]
[DEBUG] PoolingHttpClientConnectionManager - Connection manager is shutting down
[DEBUG] DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
[DEBUG] DefaultManagedHttpClientConnection - http-outgoing-0: Close connection
[DEBUG] PoolingHttpClientConnectionManager - Connection manager shut down
{noformat}

{code:java}
HttpClientContext context = HttpClientContext.create();
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
    CloseableHttpResponse response = httpclient.execute(new HttpGet("http://it.bing.com"),
context);
    try {
        // ...
    } finally {
        response.close();
    }
} finally {
    httpclient.close();
}

{code}

> in case of a redirect a wrong host param is set to http header
> --------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1452
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1452
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.3.1
>            Reporter: Lars Bachmann
>         Attachments: wire.log
>
>
> The following url will lead to a circular redirect and a CircularRedirectException in
the end:
> http://it.bing.com/
> The reason is that http://it.bing.com will redirect to http://www.bing.com but the header
param "host" is not set to the new host (bing.com), instead the host param of the original
request (it.bing.com) is used. In the end the redirect request will not call http://www.bing.com
but http://it.bing.com instead, which is the same location like the original url and will
end up in a circular deadlock.
> The fix would be to override the host param with the value of the redirect request after
copying all header params from the original request to the redirect request.
> The class to adjust is: org.apache.http.impl.client.DefaultRequestDirector.java
> The problem is also addressed here:
> http://stackoverflow.com/questions/6698214/avoid-circular-redirect-using-httpclient-4-1-1



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message