Host header field contains scope of IPv6 address

<!-- Summary. -->

## Expected Result

when do a request to an ipv6 link local url `http://[fe80::1eed:6fff:fe30:3e4f%2]:49000/fboxdesc.xml`, i would expect just the IPv6 address without the scope in the host request-header field

expected request header example
```
GET /fboxdesc.xml HTTP/1.1
Host: [fe80::1eed:6fff:fe30:3e4f]:49000
User-Agent: curl/7.74.0
Accept: */*
```

<!-- What you expected. -->

## Actual Result

```
GET /fboxdesc.xml HTTP/1.1
Host: [fe80::1eed:6fff:fe30:3e4f%2]:49000
User-Agent: python-requests/2.27.1
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
```

<!-- What happened instead. -->

## Reproduction Steps

```python
>>> import requests
>>> x = requests.get("http://[fe80::1eed:6fff:fe30:3e4f%2]:49000/fboxdesc.xml")
>>> x.content
b'<HTML><HEAD><TITLE>400 Bad Request (ERR_INVALID_HOSTHEADER)</TITLE></HEAD><BODY><H1>400 Bad Request</H1><BR>ERR_INVALID_HOSTHEADER<HR><B>Webserver</B> Sat, 02 Apr 2022 13:31:50 GMT</BODY></HTML>\r\n'
```

## System Information

    $ python -m requests.help

```json
{
  "chardet": {
    "version": "4.0.0"
  },
  "charset_normalizer": {
    "version": "2.0.4"
  },
  "cryptography": {
    "version": "35.0.0"
  },
  "idna": {
    "version": "2.10"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.9.2"
  },
  "platform": {
    "release": "5.13.19-4-pve",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "101010cf",
    "version": "20.0.1"
  },
  "requests": {
    "version": "2.27.1"
  },
  "system_ssl": {
    "version": "101010bf"
  },
  "urllib3": {
    "version": "1.26.9"
  },
  "using_charset_normalizer": false,
  "using_pyopenssl": true
}
```

<!-- This command is only available on Requests v2.16.4 and greater. Otherwise,
please provide some basic information about your system (Python version,
operating system, &c). -->


We don't generate the `Host` header ourselves. I believe this might be a bug with `urllib3` or `http.requests.HTTPConection`. @sethmlarson thoughts?

The `Host` header is emitted by [`http.client.HTTPConnection`](https://github.com/python/cpython/blob/main/Lib/http/client.py#L1136) but we could potentially change the behavior on the `main` branch now that we're moving towards choosing headers ourselves.

just to be sure - do "you" fix it here in the requests lib, or should i open an issue in cpython project for [`http.client.HTTPConnection`](https://github.com/python/cpython/blob/main/Lib/http/client.py#L1136)?

fun fact - there is already an open issue for that since 5 years 😆 
https://bugs.python.org/issue29375

> just to be sure - do \"you\" fix it here in the requests lib, or should i open an issue in cpython project for http.client.HTTPConnection?

If we were a company you were paying support fees to, we'd handle the upstream big for sure. It's not reasonable to expect open source maintainers to report bugs upstream for you otherwise

hi @sigmavirus24
my intention was not, to "force" or ask you to solve the issue for "me" in the upstream project - i know and life the open source community idea same as you 😉 
My question was more in reply to the comment of @sethmlarson : "_but we could potentially change the behavior on the main branch now that we're moving towards choosing headers ourselves_", since this sounds to me that you have already the plan, to move the header handling into the requests lib. If i miss understood/interpret this, than sorry 🙂 

I believe that plan is for urllib3 not requests

> fun fact - there is already an open issue for that since 5 years 😆 https://bugs.python.org/issue29375

this has been migrated to https://github.com/python/cpython/issues/73561