Issue "Remote end closed connection without response" when create multiple sessions

Here is my situation:

When I use a for loop to login some REST-Web site for about 100 ~500 times, if I use requests.post method to lanch my request, requests freamwork is aways issuing the titled Bug. code as follow:
```
# coding: UTF-8  
"""
@Author:    ITACHY
@Contact:   zongliangzhu@ecarx.com.cn 
@CreateTime:2018/12/19 17:26
"""
import datetime
import uuid
import requests


def login_test(num):
    start = datetime.datetime.now()
    url = XXXXX
    uid = str(uuid.uuid4())
    body = {
        "type": "login",
        "clientinfo":
            {
                "deviceid": uid,
                "uid": uid,
                "timezone": "Asia/Shanghai",
                "osFamily": "ANDROID",
                "osVersion": "22",
                "deviceType": "MOBILE",
                "deviceModel": "1.0",
                "appVersion": "1.0.0-SNAPSHOT",
                "location":
                    {
                        "longitude": 116.407394,
                        "latitude": 39.904211,
                        "type": "GCJ02"
                    }
            }
    }
    header = {
        'Content-Type': 'application/json; charset=UTF-8',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
    }
    # response = requests.post(url, json = body, headers = header)
    response = requests.post(url, json = body, headers = header)
    if response.status_code == 200:
        result = response.json()
        print('Count: {}, Result: {}'.format(num, result))
        if result["code"] == 0:
            due = datetime.datetime.now() - start
            print('Count: {}, Uid: {}, Token: {}, Time； {}, '.format(str(i), uid, result["data"]["accessToken"], str(due)))
        else:
            due = datetime.datetime.now() - start
            print('Count: {}, Uid: {}, Response: {}, Time: {}, '.format(str(i), uid, result, str(due)))
    else:
        print('Count: {}, Login failed. Code: {}, Msg: {}'.format(num, response.status_code, response.text))


if __name__ == '__main__':

    for i in range(500):
        login_test(i)
```


But when I change my code to following:

```
# coding: UTF-8
"""
@Author:    ITACHY
@Contact:   zongliangzhu@ecarx.com.cn
@CreateTime:2018/12/19 17:26
"""
import datetime
import uuid
import requests


# import logging


def login(count, session):
    start = datetime.datetime.now()
    url = XXXXXXX
    uid = str(uuid.uuid4())
    body = {
        "type": "login",
        "clientinfo":
            {
                "deviceid": uid,
                "uid": uid,
                "timezone": "Asia/Shanghai",
                "osFamily": "ANDROID",
                "osVersion": "22",
                "deviceType": "MOBILE",
                "deviceModel": "1.0",
                "appVersion": "1.0.0-SNAPSHOT",
                "location":
                    {
                        "longitude": 116.407394,
                        "latitude": 39.904211,
                        "type": "GCJ02"
                    }
            }
    }
    header = {
        'Content-Type': 'application/json; charset=UTF-8',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
    }
    # try:
    # response = requests.post(url, json = body, headers = header)
    response = session.post(url, json = body, headers = header)
    if response.status_code == 200:
        result = response.json()
        # print(result)
        if result["code"] == 0:
            due = datetime.datetime.now() - start
            print('Count: {}, Uid: {}, Token: {}, Time； {}, '.format(str(count), uid, result["data"]["accessToken"], str(due)))
        else:
            due = datetime.datetime.now() - start
            print('Count: {}, Uid: {}, Response: {}, Time: {}, '.format(str(count), uid, result, str(due)))
    else:
        print('Login failed. Code: {}, Msg: {}'.format(response.status_code, response.text))
    # except Exception as e:
    #     print(e)


if __name__ == '__main__':
    with requests.Session() as session:
        for i in range(5000):
            login(i, session)

```

There everything goes well, I think the second way just create only ONE session and the First create lots of sessions, please check it. Thanks in advance if anyone could confirm it.

BTW: The server is behind an Apache NGINX.

Hi there! Thanks for opening this issue. Unfortunately, it seems this is a request for help instead of a report of a defect in the project. Please use [StackOverflow](https://stackoverflow.com) for general usage questions instead and only report defects here.

> Hi there! Thanks for opening this issue. Unfortunately, it seems this is a request for help instead of a report of a defect in the project. Please use [StackOverflow](https://stackoverflow.com) for general usage questions instead and only report defects here.

Thanks for your kind remind, but I could NOT aggre with you if you do NOT give it a try, How could you know this case is NOT a Bug？ By the way, I do post a question on  StackOverflow [https://stackoverflow.com/questions/53855850/issue-remote-end-closed-connection-without-response-when-create-multiple-sessi](https://stackoverflow.com/questions/53855850/issue-remote-end-closed-connection-without-response-when-create-multiple-sessi)

My server side is a java Spring-WebFlux web site, When I use Java login 6000+ times, everything goes OK, But when I use requests, that just goes as below,  and here is some logs:

```
Count: 112, Uid: 44603f84-21e6-4646-a78c-3b3769075d2f, Response: {'code': 1, 'msg': None, 'data': None}, Time: 0:00:00.036606, 
Count: 113, Uid: 0ab278d7-5a19-4b4f-a38a-05fdf3dae90f, Response: {'code': 1, 'msg': None, 'data': None}, Time: 0:00:00.035971, 
Count: 114, Uid: 189ba22f-13f3-4b1e-a2e6-410ad4ea5ef1, Response: {'code': 1, 'msg': None, 'data': None}, Time: 0:00:00.031312, 
Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 387, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 383, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Program Files\Python37\lib\http\client.py", line 1321, in getresponse
    response.begin()
  File "C:\Program Files\Python37\lib\http\client.py", line 296, in begin
    version, status, reason = self._read_status()
  File "C:\Program Files\Python37\lib\http\client.py", line 265, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\site-packages\requests\adapters.py", line 440, in send
    timeout=timeout
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 639, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "C:\Program Files\Python37\lib\site-packages\urllib3\util\retry.py", line 357, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "C:\Program Files\Python37\lib\site-packages\urllib3\packages\six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 601, in urlopen
    chunked=chunked)
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 387, in _make_request
    six.raise_from(e, None)
  File "<string>", line 2, in raise_from
  File "C:\Program Files\Python37\lib\site-packages\urllib3\connectionpool.py", line 383, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Program Files\Python37\lib\http\client.py", line 1321, in getresponse
    response.begin()
  File "C:\Program Files\Python37\lib\http\client.py", line 296, in begin
    version, status, reason = self._read_status()
  File "C:\Program Files\Python37\lib\http\client.py", line 265, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:/Code/rest/web/automation/utils/aiclient/test.py", line 52, in <module>
    login()
  File "D:/Code/rest/web/automation/utils/aiclient/test.py", line 36, in login
    response = requests.post(url, data = body, headers = {'Content-Type': 'application/json; charset=UTF-8'})
  File "C:\Program Files\Python37\lib\site-packages\requests\api.py", line 112, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\requests\api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\requests\sessions.py", line 508, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Program Files\Python37\lib\site-packages\requests\sessions.py", line 618, in send
    r = adapter.send(request, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\requests\adapters.py", line 490, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

Process finished with exit code 1
```

> Hi there! Thanks for opening this issue. Unfortunately, it seems this is a request for help instead of a report of a defect in the project. Please use [StackOverflow](https://stackoverflow.com) for general usage questions instead and only report defects here.

@sigmavirus24   Please help me! Please...

@I-TACHI, this is not the forum for debugging your local software issues. The stacktrace you provided is at the standard library level, so at worst it’s a defect we’d be unable to fix in Requests. That said it looks like you’re overwhelming the server with Requests and it’s forcibly killing the connections.

It’s not appropriate to spam these issues every 10 minutes asking for help after receiving a response. You’re pinging 1400 people who are here to monitor user impacting bugs. Please follow Sigmavirus24’s instructions and wait for a response on the Stackoverflow question. Thanks.