diff --git a/lib/url.c b/lib/url.c index 5ffaa7305..601d8d364 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3987,9 +3987,17 @@ static CURLcode parseurlandfillconn(struct SessionHandle *data, last part of the URI. We are looking for the first '#' so that we deal gracefully with non conformant URI such as http://example.com#foo#bar. */ fragment = strchr(path, '#'); - if(fragment) + if(fragment) { *fragment = 0; + /* we know the path part ended with a fragment, so we know the full URL + string does too and we need to cut it off from there so it isn't used + over proxy */ + fragment = strchr(data->change.url, '#'); + if(fragment) + *fragment = 0; + } + /* * So if the URL was A://B/C#D, * protop is A diff --git a/tests/data/test5 b/tests/data/test5 index 7a0ebd730..b62f1a127 100644 --- a/tests/data/test5 +++ b/tests/data/test5 @@ -29,7 +29,7 @@ http HTTP over proxy -http://%HOSTIP:%HTTPPORT/we/want/that/page/5 -x %HOSTIP:%HTTPPORT +http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT