elmoiv / redvid

Smart downloader for Reddit hosted videos
GNU General Public License v3.0
110 stars 15 forks source link

Failed to download #37

Closed m13v closed 10 months ago

m13v commented 10 months ago

Describe the bug Failed to download

Terminal % redvid -u "https://v.redd.it/xq3xuxbvf9bc1" -mxq

Connecting... Scraping... Downloading and Re-encoding... Video: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1786, in open return getattr(self, name)(url) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1995, in open_https return self._open_generic_http(self._https_connection, url, data) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1944, in _open_generic_http http_conn.request("GET", selector, headers=headers) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1285, in request self._send_request(method, url, body, headers, encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1331, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1280, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1040, in _send_output self.send(msg) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 980, in send self.connect() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1454, in connect self.sock = self._context.wrap_socket(self.sock, File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 501, in wrap_socket return self.sslsocket_class._create( File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1041, in _create self.do_handshake() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1310, in do_handshake self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.9/bin/redvid", line 8, in sys.exit(run()) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/redvid/main.py", line 120, in run reddit.download() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/redvid/redvid.py", line 263, in download self.get_and_mux() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/redvid/redvid.py", line 134, in get_and_mux self.get_video() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/redvid/redvid.py", line 122, in get_video self.pgbar(self.log, self.video, self.temp + self.__unique_id + 'video.mp4', '>> Video:') File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/redvid/requestmaker.py", line 224, in pgbar opener.retrieve(url, filename=output_path, reporthook=reporthook) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1820, in retrieve fp = self.open(url, data) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1792, in open raise OSError('socket error', msg).with_traceback(sys.exc_info()[2]) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1786, in open return getattr(self, name)(url) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1995, in open_https return self._open_generic_http(self._https_connection, url, data) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1944, in _open_generic_http http_conn.request("GET", selector, headers=headers) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1285, in request self._send_request(method, url, body, headers, encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1331, in _send_request self.endheaders(body, encode_chunked=encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1280, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1040, in _send_output self.send(msg) File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 980, in send self.connect() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1454, in connect self.sock = self._context.wrap_socket(self.sock, File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 501, in wrap_socket return self.sslsocket_class._create( File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1041, in _create self.do_handshake() File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1310, in do_handshake self._sslobj.do_handshake() OSError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)

elmoiv commented 10 months ago

@matthew-heartful I tested your params and it worked without any issue on my side. But I am on Windows not MacOS.

The SSL issue is common on MacOS and may be solved by creating a symlink from OS certificates to Python 3.9:

ln -s /etc/ssl/* /Library/Frameworks/Python.framework/Versions/3.9/etc/openssl