There is a website that I need to scrape just a single page and I discovered it blocks access from curl but allows from wget. Making exactly the same request (same headers, cookies, same origin IP...) has different results: curl gets blocked while wget does not. Surely, there is some fingerprinting being used.
After using a reverse proxy to check what was going on, I discovered that curl lowercases automatically some headers. For example, despite using -H 'User-Agent: YYY' the request will be made like user-agent: YYY the same happens with -H 'Accept: */*' which becomes accept: */*. This small difference makes curl "stand out" and easier to fingerprint (I know there are other ways to fingerprint requests, like checking SSL cyphers available, timing from the hand shake... but this is not the case here).
I cant find a way to stop curl from converting every header name (not the value, only the name) to lowercase. Do you have any idea if there is any option that allows me to stop that?