Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting ('Connection aborted.', OSError(0, 'Error') errors with python requests

Tags:

I'm trying to write code to login to a website.
First I tested using ARC. It works fine. Image

So I wrote python code like this:

import requests   url = 'https://www.bible.ac.kr/login.aspx/' headers = {     'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',     'Referer': 'http://www.bible.ac.kr/' }   req = requests.get(url, headers=headers) # OR requests.get(url, headers=headers, verify=False)  print(req.status_code) 

but I got errors.

Error

Traceback (most recent call last):   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 603, in urlopen     chunked=chunked)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 344, in _make_request     self._validate_conn(conn)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 843, in _validate_conn     conn.connect()   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connection.py", line 370, in connect     ssl_context=context)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 355, in ssl_wrap_socket     return context.wrap_socket(sock, server_hostname=server_hostname)   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 412, in wrap_socket     session=session   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 853, in _create     self.do_handshake()   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1117, in do_handshake     self._sslobj.do_handshake() OSError: [Errno 0] Error  During handling of the above exception, another exception occurred:  Traceback (most recent call last):   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/requests/adapters.py", line 449, in send     timeout=timeout   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 641, in urlopen     _stacktrace=sys.exc_info()[2])   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/util/retry.py", line 368, in increment     raise six.reraise(type(error), error, _stacktrace)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/packages/six.py", line 685, in reraise     raise value.with_traceback(tb)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 603, in urlopen     chunked=chunked)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 344, in _make_request     self._validate_conn(conn)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connectionpool.py", line 843, in _validate_conn     conn.connect()   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/connection.py", line 370, in connect     ssl_context=context)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/urllib3/util/ssl_.py", line 355, in ssl_wrap_socket     return context.wrap_socket(sock, server_hostname=server_hostname)   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 412, in wrap_socket     session=session   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 853, in _create     self.do_handshake()   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py", line 1117, in do_handshake     self._sslobj.do_handshake() urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError(0, 'Error'))  During handling of the above exception, another exception occurred:  Traceback (most recent call last):   File "/Users/kyungmin/PycharmProjects/untitled14/a.py", line 11, in <module>     req = requests.get(url, headers=headers)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/requests/api.py", line 75, in get     return request('get', url, params=params, **kwargs)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/requests/api.py", line 60, in request     return session.request(method=method, url=url, **kwargs)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/requests/sessions.py", line 533, in request     resp = self.send(prep, **send_kwargs)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/requests/sessions.py", line 646, in send     r = adapter.send(request, **kwargs)   File "/Users/kyungmin/PycharmProjects/untitled14/venv/lib/python3.7/site-packages/requests/adapters.py", line 498, in send     raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', OSError(0, 'Error'))  Process finished with exit code 1  

I have not solved this problem for a long time.
Only when I run Fiddler, the code works fine. I don't know the reason.
Even though I tried using C language, I still got an error on this website.
Can you solve this problem using only Python?

like image 518
kyungmin Avatar asked Aug 27 '19 09:08

kyungmin


1 Answers

I solved the problem using OPENSSL 1.0.1f.

The domain only supported TLS 1.0, SSLv2, and SSLv3. These protocols are outdated and rarely used. So I doubted the compatibility of OPENSSL 1.1.1 series. As a result, using openssl version 1.0.1f solved the problem. However, using older openssl in Python may require extra work.

I'm not very good at English, but I hope this helps.

like image 57
kyungmin Avatar answered Oct 11 '22 03:10

kyungmin