httpx.ConnectError: EOF occurred in violation of protocol (_ssl.c:1131)
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 78
- Avg merge
- 8h 59m
- Merged PRs (30d)
- 24
Description
Originally opened by
@jekoieon 2023-07-22 09:47:26 in encode/httpx
I try to use bellow code run httpx, but it run as error?
import httpx
r = httpx.get('https://httpbin.org/get')
print(r)
** The Error**
PS E:\test> & C:/Users/jekoi/AppData/Local/Programs/Python/Python38/python.exe e:/test/t6.py
Traceback (most recent call last):
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_exceptions.py", line 10, in map_exceptions
yield
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_backends\sync.py", line 62, in start_tls
raise exc
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_backends\sync.py", line 57, in start_tls
sock = ssl_context.wrap_socket(
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1040, in _create
self.do_handshake()
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1131)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_transports\default.py", line 60, in map_httpcore_exceptions
yield
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_transports\default.py", line 218, in handle_request
resp = self._pool.handle_request(req)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_sync\connection_pool.py", line 262, in handle_request
raise exc
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_sync\connection_pool.py", line 245, in handle_request
response = connection.handle_request(request)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_sync\http_proxy.py", line 271, in handle_request
connect_response = self._connection.handle_request(
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_sync\connection.py", line 92, in handle_request
raise exc
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_sync\connection.py", line 69, in handle_request
stream = self._connect(request)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_sync\connection.py", line 149, in _connect
stream = stream.start_tls(**kwargs)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_backends\sync.py", line 62, in start_tls
raise exc
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\contextlib.py", line 131, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpcore\_exceptions.py", line 14, in map_exceptions
raise to_exc(exc) from exc
httpcore.ConnectError: EOF occurred in violation of protocol (_ssl.c:1131)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "e:/test/t6.py", line 3, in <module>
r = httpx.get('https://httpbin.org/get')
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_api.py", line 189, in get
return request(
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_client.py", line 814, in request
return self.send(request, auth=auth, follow_redirects=follow_redirects)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_client.py", line 901, in send
response = self._send_handling_auth(
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_client.py", line 929, in _send_handling_auth
response = self._send_handling_redirects(
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_client.py", line 966, in _send_handling_redirects
response = self._send_single_request(request)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_client.py", line 1002, in _send_single_request
response = transport.handle_request(request)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_transports\default.py", line 218, in handle_request
resp = self._pool.handle_request(req)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\contextlib.py", line 131, in __exit__
self.gen.throw(type, value, traceback)
File "C:\Users\jekoi\AppData\Local\Programs\Python\Python38\lib\site-packages\httpx\_transports\default.py", line 77, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.ConnectError: EOF occurred in violation of protocol (_ssl.c:1131)
PS E:\test>
PS E:\test> pip show httpx
Name: httpx
Version: 0.24.1
Summary: The next generation HTTP client.
Home-page:
Author:
Author-email: Tom Christie <tom@tomchristie.com>
License:
Location: c:\users\jekoi\appdata\local\programs\python\python38\lib\site-packages
Requires: certifi, httpcore, idna, sniffio
Required-by:
PS E:\test>
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start from the httpx.get entry point and trace the reported path through httpcore's sync connection, proxy, and TLS handling. Reproduce the request with the shown Python 3.8 and httpx 0.24.1 setup, then determine whether the failure is reproducible in the project rather than environment-specific. Done would require a confirmed cause and a test or documented resolution, but the issue does not currently define either.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100