Pulp should provide a User Agent on all requests it makes
Many upstream repositories such as PyPI  request that all mirroring tools provide a User Agent to identify themselves. Pulp does not currently do this.
Here is an example of the User Agent that Bandersnatch provides:
'bandersnatch/4.1.0.dev0 (cpython 3.8.3-final0, Linux x86_64) (aiohttp 3.6.2)'
And the code that produces it: