post  failed with 405 on macos 11.4 if data is larger than 65828

Summary.

post  failed with 405 on macos 11.4 if data is larger than 65828

## Reproduction Steps

server.py
```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
from flask import Flask, request


app = Flask(__name__)


@app.route("/<url>", methods=["POST", "OPTIONS"])
def url(url):
    print("[{0}] accessed".format(url))
    data = request.data
    data = json.loads(data)
    return (
        json.dumps({"code": 0, "msg": "ok"}),
        200,
        {"Content-Type": "application/json; charset=utf-8"},
    )


if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000, debug=True)
```

test.py
```python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import requests


def test_api(server, count=10, log=True):
    try:
        if log:
            print("access [{}] with [{}]".format(server, count))

        r = requests.post(
            "http://{}:5000/some_url".format(server), json={"data": "0" * count},
        )

        assert r.status_code == 200, "failed with [{}]".format(r.status_code)
        r = r.json(encoding="utf-8")
        return True
    except Exception as ex:
        print("[{}] failed [{}]  [{}]".format(server, ex, count))
    return False


def run_api(server):
    print("#" * 20)

    for i in range(65800, 65900):
        if not test_api(server, i, log=False):
            break


if __name__ == "__main__":

    linux = "192.168.8.153"
    macos_11_4 = "192.168.8.107"
    windows = "192.168.8.127"

    run_api(linux)
    run_api(macos_11_4)
    run_api(windows)

```


- 1 run server.py on windows, macos_11.4 and linux
- 2 run test.py on windows, macos_11.4 and linux
- 3 run test.py on macos_11.2.3

only on macos_11.4, test.py failed:
```sh
####################
[192.168.8.153] failed [('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))]  [65828]
####################
[192.168.8.107] failed [('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))]  [65828]
####################
[192.168.8.127] failed [('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))]  [65828]
```

server.py logs:
```sh
192.168.8.107 - - [03/Jun/2021 14:15:59] "POST /some_url HTTP/1.1" 200 -
192.168.8.107 - - [03/Jun/2021 14:15:59] "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}POST /some_url HTTP/1.1" 405 -

```

also tried requests 2.24.0 on macos_11.4, same error


## System Information

    $ python -m requests.help

```
{
  "chardet": {
    "version": "4.0.0"
  },
  "cryptography": {
    "version": ""
  },
  "idna": {
    "version": "2.10"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.6.13"
  },
  "platform": {
    "release": "20.5.0",
    "system": "Darwin"
  },
  "pyOpenSSL": {
    "openssl_version": "",
    "version": null
  },
  "requests": {
    "version": "2.25.1"
  },
  "system_ssl": {
    "version": "101010bf"
  },
  "urllib3": {
    "version": "1.26.5"
  },
  "using_pyopenssl": false
}
```

postman and golang works without error when use data larger than 65828 on macos_11.4

@dwSun, your server logs show the server is responding with a 405 Method Not Allowed. The server appears to be responding as soon as the request is received and closing the connection. Requests is still writing the original request body when the connection is closed by the flask server, resulting in the ConnectionResetError. This doesn't appear to be a defect in Requests.