diff options
-rw-r--r-- | lib/url.c | 10 | ||||
-rw-r--r-- | tests/data/test5 | 2 |
2 files changed, 10 insertions, 2 deletions
@@ -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 </name> <command> -http://%HOSTIP:%HTTPPORT/we/want/that/page/5 -x %HOSTIP:%HTTPPORT +http://%HOSTIP:%HTTPPORT/we/want/that/page/5#5 -x %HOSTIP:%HTTPPORT </command> </client> |