ذات صلة بـ # 1083 ، ربما. القياسية requests.get()
لهذا الموقع / الصفحة المعينة نتائج https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html
في:
>>> import requests
>>> requests.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
باستخدام request-toolbelt
's SSLAdapter
لتجربة العديد من إصدارات ssl ، فشلوا جميعًا ، على ما يبدو ... راجع عمليات التتبع التالية.
TLSv1:
>>> adapter = SSLAdapter('TLSv1')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
SSLv3:
>>> adapter = SSLAdapter('SSLv3')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
SSLv2:
>>> adapter = SSLAdapter('SSLv2')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 378, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.apitools.com', port=443): Max retries exceeded with url: /2014/04/24/a-small-router-for-openresty.html (Caused by <class 'socket.error'>: [Errno 54] Connection reset by peer)
لاحظ أن الخطأ الأخير يعطي خطأ Connection reset by peer
، والذي يختلف عن الآخرين ، لكنني متأكد تمامًا من أن SSLv2 لا يدعمه الخادم على أي حال.
من أجل المتعة ، حاولت المرور عبر بعض العناوين الأكثر ملاءمة في الطلب الأخير أيضًا:
>>> headers = {
... 'Accept': u"text/html,application/xhtml+xml,application/xml",
... 'User-Agent': u"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36",
... 'Accept-Encoding': u"gzip,deflate",
... 'Accept-Language': u"en-US,en;q=0.8"
... }
>>> adapter = SSLAdapter('SSLv2')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html', headers=headers)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/Users/jaddison/.virtualenvs/techtown/lib/python2.7/site-packages/requests/adapters.py", line 378, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='docs.apitools.com', port=443): Max retries exceeded with url: /2014/04/24/a-small-router-for-openresty.html (Caused by <class 'socket.error'>: [Errno 54] Connection reset by peer)
لا يوجد نرد أيضا. إليك ما تبدو عليه معلومات اتصال HTTPS في Chrome على Mac:
أنا لست إيجابيًا ، لكن بعض البحث في googling يشير إلى أنه من المحتمل أن يكون هناك مشكلة في قائمة التشفير ، أيهما أكثر urllib3 ، على ما أعتقد؟
حاولت تعديل DEFAULT_CIPHER_LIST
في pyopenssl
، لكنني بدأت في مواجهة أخطاء الاستيراد. في هذه المرحلة ، بدا الأمر وكأن الأشياء قد تحطمت للتو ، ولم يكن هناك حقًا طريقة مناسبة لحل هذه المشكلة حتى الآن.
معلومات الإصدار:
OSX مافريكس
بايثون 2.7.5
OpenSSL 0.9.8y 5 فبراير 2013 - (من python -c "import ssl; print ssl.OPENSSL_VERSION"
)
يطلب 2.2.1
طلبات حزام الأدوات 0.2.0
urllib3 1.8
للأسف ، هذا لا علاقة له بالمشكلة التي حددتها ، ويعود تمامًا إلى OpenSSL السيء الذي يشحنه OS X افتراضيًا. يحتوي الإصدار 0.9.8y على بعض المشكلات الحقيقية في تنفيذ مصافحة SSL ، وبعض الخوادم لا تتسامح معها جيدًا. يكشف استخدام Python 3 في صندوق OS X الخاص بي (وبالتالي باستخدام OpenSSL أحدث) أنه لا توجد مشكلة.
لديك خياران:
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install PyOpenSSL
.آه ، يبدو أنني كنت أتابع رنجة حمراء بعد ذلك - لا أخطط لنشر أي شيء على OSX على أي حال. يبدو أنني سأقوم بنقل اختباري إلى نظام Linux الظاهري. نعتذر عن هذه القضية التي طال انتظارها!
لا داعي للاعتذار ، كان طرح هذا السؤال هو الشيء الصحيح الذي يجب فعله: إنها معرفة محددة بشكل غريب لمعرفة أن OS X لديه هذه المشكلة. =)
حسنًا ، هذه مشكلة. لقد قمت بإنشاء صورة افتراضية لخادم Ubuntu 14.04 32bit عبر Vagrant وما زال هذا يحدث باستثناء حالة SSLv2 ، حيث فشل لأن البروتوكول غير مدرج في إصدار OpenSSL في Ubuntu 14.04 (حسب التصميم ، أعتقد أن SSLv2 قديم وعفا عليها الزمن).
الإصدارات:
Ubuntu 14.04 32bit (عبر Vagrant / Virtualbox combo)
بايثون 2.7.6
الطلبات == 2.2.1
طلبات-حزام الأدوات == 0.2.0
urllib3 == 1.8.2
تحرير: نسيت نسخة OpenSSL ...
python -c "import ssl ؛ print ssl.OPENSSL_VERSION"
OpenSSL 1.0.1f 6 يناير 2014
TLSv1:
>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('TLSv1')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
SSLv2:
>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('SSLv3')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
SSLv23:
>>> import requests
>>> from requests_toolbelt import SSLAdapter
>>> adapter = SSLAdapter('SSLv23')
>>> s = requests.Session()
>>> s.mount('https://', adapter)
>>> s.get('https://docs.apitools.com/2014/04/24/a-small-router-for-openresty.html')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 395, in get
return self.request('GET', url, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/home/vagrant/.virtualenvs/techtown/local/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
ربما هذه مشكلة قائمة التشفير إذن؟ أم أن إصدار OpenSSL المستخدم هنا لا يزال يمثل مشكلة؟
أنا على استعداد تام لتخصيص بعض الوقت للمساعدة في تصحيح هذا إذا لزم الأمر ... بشرط أن تعطيني بعض التوجيهات.
يتم تنزيل VM. لا يمكنني إعادة إنتاج هذا على ArchLinux.
تشير التراص إلى هذا ولكني أود أن أتأكد: أنت _لا تستخدم PyOpenSSL ولكن فقط stdlib؟
@ t-8ch شكرًا لإلقاء نظرة على هذا ، فأنا مرتبك بعض الشيء. OpenSSL يجعل حياتي صعبة حقًا = (
@ t-8ch لم أقم بتثبيت PyOpenSSL إذا كان هذا هو ما تطلبه؟
كنت سأفترض (ربما بشكل غير صحيح) أن pip install requests
يجب أن يمنحني كل ما أحتاجه للاتصال بنجاح requests.get('...')
على صفحة HTTPS. وهو ، بالطبع ، يعمل في الغالب ، ليس فقط لهذا الموقع لسبب ما.
jaddison انها _ تقريبا _ يفعل. للأسف ، مكتبة Python 2.7s القياسية سيئة للغاية ولا تدعم بعض الميزات ، مثل SNI.
أتساءل عما إذا كان هذا هو SNI ...
jaddison هناك نوعان مختلفان من مسارات الشفرات خلف الكواليس. لا يجب أن تهتم بهؤلاء ، لكن من المفيد أن تعرف عند تصحيح الأخطاء.
ومع ذلك يمكنني الآن إعادة إنتاج هذا على أوبونتو. لكن فقط س Py2. في Py3 كل شيء على ما يرام.
أظن أن Lukasa على حق وأن الخادم يفشل عندما لا يستخدم العميل SNI.
يزعجني أن غياب SNI يفشل بعدة طرق مختلفة اعتمادًا على الخادم المعني.
لقد لاحظت هذا التغيير بين OpenSSL 1.0.1f و 1.0.1g (https://www.openssl.org/news/openssl-1.0.1-notes.html):
Add TLS padding extension workaround for broken servers.
تحرير: آه ، لا داعي للقلق - لا ينبغي أن يختلف الخطأ بين Py 2 و 3 ، على ما أعتقد.
jaddison لاختبار ما إذا كان هذا هو SNI ، ستحتاج إلى تثبيت متطلبات SNI ل Python 2.
Lukasa كان على حق. قارن:
$ openssl s_client -connect docs.apitools.com:443
CONNECTED(00000003)
139846853338768:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:762:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 517 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
$ openssl s_client -connect docs.apitools.com:443 -servername docs.apitools.com
... happy handshake here
للتوضيح: يمكّن الأمر الثاني وظيفة SNI openssl s_client
.
يمكنك أ) التبديل إلى python3 ب) تثبيت تبعيات إضافية.
ليس لدى stdlib حاليًا أي طريقة للقيام بـ SNI.
شكرا لردود الفعل السريعة. نظرًا لعدم وجود خطأ ، سأغلق هذا ... مرة أخرى.
مهلا ، شكرا يا رفاق !! لقد قمت بتثبيت python3 على جهاز mac و boom ، وهو يعمل.
فقط أريد أن تتناغم وتقول إنني واجهت هذه المشكلة على OS X 10.9.5 و Python 2.7.7 و OpenSSL 0.9.8zc.
تمكنت من إصلاح مشكلة المصافحة من خلال:
brew install OpenSSL
cryptography
المرتبطة ببرنامج OpenSSL الجديد ( env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
)pip install requests[security]
شكرا جزيلاMicroserf. أنا أعمل إلى حد كبير نفس المواصفات (10.9.5 ، Python 2.7.6 مثبتة عبر Homebrew ولكن تم تجميعها مع نظام OpenSSL 0.9.8zg المتوفر) وكانت هذه هي عمليتي الكاملة للحصول على requests
وتشغيلها لـ Django :
brew install openssl
قم بتثبيت requests
مع مجموعة من عناصر SNI ، تم تجميعها مقابل التثبيت الجديد لـ OpenSSL. يقوم الخيار [security]
ببساطة بتثبيت pyopenssl ndg-httpsclient pyasn1
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install requests[security] urllib3
ونحن على ما يرام:
"""
This may or may not be needed. See:
https://urllib3.readthedocs.org/en/latest/security.html#openssl-pyopenssl
"""
# from urllib3.contrib import pyopenssl
# pyopenssl.inject_into_urllib3()
import requests
# r = requests.get(...)
هل هناك إجابة محددة حول كيفية جعل هذا يعمل على ubuntu؟ أواجه هذه المشكلة ، ويبدو أن الإجابة الوحيدة هنا تتعلق بكيفية تشغيل هذا على جهاز Mac. لا تعد ترقية قاعدة الكود الخاصة بنا بالكامل إلى Python 3 خيارًا.
حسنًا ، ربما أكون قد أجبت للتو على سؤالي. ما فعلته يتلخص في:
sudo apt-get install libffi-dev
pip install pyOpenSSL ndg-httpsclient pyasn1
@ lsemel شكرًا لك ، لقد وفر لي ذلك مجموعة من الوقت
@ lsemel هل أنت متأكد؟ لقد جربته على Ubuntu 15.10 وما زال لا يعمل مع Python 2.7.10.
إنه يعمل مع Python 2.7 على Travis CI:
https://travis-ci.org/playing-se/swish-python
حصلت عليه للعمل الآن! لقد قمت ببساطة بإلغاء تثبيت pyOpenSSL:
pip uninstall pyOpenSSL
ربما يجب علينا فقط pyopenssl.inject_into_urllib3 () إذا كان إصدار Python أقل من 2.7.9؟ يبدو أن pyOpenSSL يكسر الأشياء على Ubuntu و Windows إذا كان إصدار Python هو 2.7.10.
يجب ألا يكسر PyOpenSSL أي شيء. إذا حدث ذلك ، فهذا خطأ يجب الإبلاغ عنه.
سأضطر إلى النظر في هذا الأمر ، ولكن هل هناك أي سبب وجيه لحقن البيوبينسل في urllib3 إذا كان إصدار Python هو 2.7.9 أو أحدث؟
أفكر في شيء مثل هذا:
# Check if Modern SSL with SNI support
try:
from ssl import SSLContext
from ssl import HAS_SNI
except ImportError:
# Attempt to enable urllib3's SNI support, if possible
try:
from .packages.urllib3.contrib import pyopenssl
pyopenssl.inject_into_urllib3()
except ImportError:
pass
نعم ، في كثير من الأحيان هناك. على سبيل المثال ، في OS X ، ترتبط معظم Pythons بنظام OpenSSL ، وهو الإصدار 0.9.8zg. ومع ذلك ، سيرتبط PyOpenSSL بـ OpenSSL أحدث كثيرًا (1.0.2). هذا يجعل استخدام PyOpenSSL تحسينًا أمنيًا كبيرًا.
بالإضافة إلى ذلك ، يمنحنا PyOpenSSL وصولاً أفضل إلى OpenSSL ، مما يسمح لنا بتأمينه بشكل أكثر فعالية.
حسنًا ، لقد لعبت مع هذا قليلاً الآن.
إنه يعمل مع pyopenssl ولكن ليس إذا تم تثبيت ndg-httpsclient.
ومع ذلك ، يمكنني تشغيله مع عميل ndg-https إذا قمت بإلغاء تثبيت pyasn1 لإعطائي هذه التحذيرات:
/usr/lib/python2.7/dist-packages/ndg/httpsclient/subj_alt_name.py:22: UserWarning: Error importing pyasn1, subjectAltName check for SSL peer verification will be disabled. Import error is: No module named pyasn1.type
warnings.warn(import_error_msg)
/usr/lib/python2.7/dist-packages/ndg/httpsclient/ssl_peer_verification.py:25: UserWarning: SubjectAltName support is disabled - check pyasn1 package installation to enable
warnings.warn(SUBJ_ALT_NAME_SUPPORT_MSG)
/usr/lib/python2.7/dist-packages/ndg/httpsclient/subj_alt_name.py:22: UserWarning: Error importing pyasn1, subjectAltName check for SSL peer verification will be disabled. Import error is: No module named pyasn1.type
warnings.warn(import_error_msg)
نفس السلوك على Ubuntu 15.10 و Windows 10 مع تثبيت Python 2.7.10.
هذا لأنه بدون ndg-httpsclient لا يتم استخدام دعم PyOpenSSL.
نعم ، سأضطر إلى البحث في سبب نجاحه إذا تم تعطيل SubjectAltName. اي فكرة؟
من المؤكد تقريبًا أن المشكلة تكمن في أنك تستخدم OpenSSLs مختلفة في كل حالة.
واجهت نفس المشكلة على مربع Ubuntu 14.04 و Python 2.7.11
إنه من SNI
ما نجح معي هو هذا:
أعتقد أنه كان هناك فحص لوقت التثبيت على urllib3 أو الطلبات التي منعت الأشياء من العمل دون إلغاء التثبيت
jvanasco ما الذي تستخدمه لتثبيت هذه الحزم؟ أفترض النقطة. لماذا تقوم بتثبيت urllib3 والطلبات بشكل منفصل؟
حسنًا ، كنت بحاجة إلى urllib3 في Virtualenv ... لكنني قمت بتثبيته لمحاولة تثبيت المتطلبات بواسطة pip و easy_install. (لقد استخدمت كلاهما)
لدي مفهرس ويب وبعض عناوين url معطلة. لقد كتبت نصًا سريعًا لتجربة البرامج المعطلة ، واستمريت في إعادة تثبيت / حذف + تثبيت الحزم في إرشادات urllib3 حول مشكلات ssl حتى تعمل.
في 31 مايو 2016 ، الساعة 7:25 مساءً ، كتب إيان كورداسكو إخطارات github.com:
jvanasco ما الذي تستخدمه لتثبيت هذه الحزم؟ أفترض النقطة. لماذا تقوم بتثبيت urllib3 والطلبات بشكل منفصل؟
-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو اعرضها على GitHub ، أو قم بكتم صوت السلسلة
ما زلت أرى هذه المشكلة وقد جربت الحلول المقترحة.
لقد قمت بتحديث إصدار python الخاص بي إلى 2.7.11
لقد قمت بتثبيت 3 حزم إضافية.
لقد جربت تسلسل إلغاء التثبيت / التثبيت الذي اقترحه jvanasco وما زلت أحصل على خطأ SSLE
باستخدام Ubuntu 14.04 أيضًا ، للأسف ، لا يوجد تحديث لـ OpenSSL ، لذا يتعين علي استخدام الحلول البديلة المنشورة هنا ولا يحالفني الحظ.
أي خطوات إضافية ربما اتخذتموها يا رفاق؟
شكرا
Lekinho لقد وجدت أن إنشاء نص اختبار قصير يختبر المجال الذي كنت أواجه مشكلات فيه قد ساعد.
كان مجرد:
import requests
r = requests.get(bad_url)
print r.__dict__
Lekinho يمكنك استخراج pyopenssl من الطلبات في التعليمات البرمجية الخاصة بك:
try:
from requests.packages.urllib3.contrib import pyopenssl
pyopenssl.extract_from_urllib3()
except ImportError:
pass
Lekinho إذا كنت لا تزال تواجه هذه المشكلة مع Python 2.7.11 ، فمن المحتمل جدًا أن الخادم البعيد لا يدعم إعدادات TLS التي تستخدمها الطلبات. هل الخادم المعني متاح على الإنترنت العام؟ إذا كان الأمر كذلك ، فهل يمكن أن تزودني بعنوان URL؟
لقد جربت استيراد pyopenssl كما هو مقترح.
للأسف هذا غير متاح للجمهور.
ومع ذلك ، لدي التفاصيل الدقيقة لإصدار OpenSSL الذي يمتلكه الخادم.
في الأساس ، نحن نعمل على جهاز ظاهري redhat ، كان لدي هذا OpenSSL عندما كان كل شيء يعمل: openssl-1.0.1e-42.el6_7.4.x86_64
ثم قمنا بترقية redhat وكان هناك تحديث لـ openssl: openssl-1.0.1e-48.el6_8.1.x86_64
يحتوي هذا الإصدار دائمًا على مشكلة المصافحة السيئة عند استخدام openssl على ubuntu 14.04.
هل لديكم يا رفاق أي عناوين URL عامة يمكنني تجربتها ، لمعرفة ما إذا كانت الحلول البديلة قد ساعدت في حل المشكلة وما هي هذه المجموعة الفريدة التي أملكها فقط؟
يكون الجهاز نفسه جيدًا عند إرسال طلبات REST عبر المتصفح (أي بدون فتح ubuntu)
شكرا
هل يمكنك توفير ناتج rpm -q --changelog openssl
فضلك؟
[ admin @ leke-2-2-8-11 ~] $ rpm -q --changelog openssl
يبدو أن Lekinho حذف حسابه على Github؟ بالنسبة إلى الشخص التالي الذي لديه مشكلات - من المحتمل أن تكون ترقية OpenSsl أو Python قد كسرت بعض روابط c المترجمة. عندما يكون لدي ترقية من هذا القبيل ، أقوم بحذف الحزم الافتراضية الخاصة بي أو جميع الحزم ثم إنشاء حزمة جديدة.
jvanasco ما زلت هنا.
كنت أتساءل ، هل لديك عنوان URL عام يمكنني اختباره باستخدامه؟ أرغب في معرفة ما إذا كان الحل البديل يحل بالفعل مشكلة الحالات المؤكدة (هذا يعني أنني لم أفسد شيئًا ما أثناء محاولتي القيام بذلك)
تضمين التغريدة
مجموعة فرعية من التغييرات بين إصدار العمل والإصدار المحدث: +1:
الإثنين 02 مايو 2016 Tomáš Mráz [email protected] 1.0.1e-48.1
إصلاح CVE-2016-2105 - تجاوز محتمل في ترميز base64
إصلاح CVE-2016-2106 - تجاوز محتمل في EVP_EncryptUpdate ()
إصلاح CVE-2016-2107 - أوراكل الحشو في AES-NI CBC-MAC المخيط
إصلاح CVE-2016-2108 - تلف الذاكرة في تشفير ASN.1
إصلاح CVE-2016-2109 - إمكانية DoS عند قراءة بيانات ASN.1 من BIO
إصلاح CVE-2016-0799 - مشكلات الذاكرة في BIO_printf
الأربعاء 24 فبراير 2016 Tomáš Mráz [email protected] 1.0.1e-48
إصلاح CVE -2017702 - هجوم القناة الجانبية على الأس النمطي
إصلاح CVE -2017705 - مجاني مزدوج في تحليل المفتاح الخاص لـ DSA
إصلاح CVE-2016-0797 - فساد كومة في BN_hex2bn و BN_dec2bn
الثلاثاء 16 فبراير 2016 Tomáš Mráz [email protected] 1.0.1e-47
إصلاح CVE-2015-3197 - فرض SSLv2 ciphersuite
تعطيل SSLv2 في طريقة TLS العامة
الجمعة 15 كانون الثاني (يناير) 2016 Tomáš Mráz [email protected] 1.0.1e-46
إصلاح تسرب ذاكرة 1 بايت في تحليل pkcs12 (# 1229871)
توثيق بعض خيارات أمر السرعة (# 1197095)
الخميس 14 كانون الثاني (يناير) 2016 Tomáš Mráz [email protected] 1.0.1e-45
إصلاح الطوابع الزمنية عالية الدقة في سلطة ختم الوقت
الإثنين 21 ديسمبر 2015 توماش مراز [email protected] 1.0.1e-44
إصلاح CVE-2015-7575 - عدم السماح باستخدام MD5 في TLS1.2
الجمعة 04 كانون الأول (ديسمبر) 2015 Tomáš Mráz [email protected] 1.0.1e-43
إصلاح CVE-2015-3194 - تحقق الشهادة من التعطل بسبب فقدان معلمة PSS
إصلاح CVE-2015-3195 - تسرب ذاكرة X509_ATTRIBUTE
إصلاح CVE-2015-3196 - حالة السباق عند التعامل مع تلميح هوية PSK
الثلاثاء 23 حزيران (يونيو) 2015 Tomáš Mráz [email protected] 1.0.1e-42
تحديث :
لذلك وجدت عملًا حول هذا.
كان أحد الزملاء في الأساس يقرأ حول هذه المشكلة وشاهد بعض المنشورات حول دعم RHEL المفتوح لشفرات ECC / ECDH التي لا تكون 100٪ لأي سبب من الأسباب.
لقد جربنا الطلب إلى عنوان URL عن طريق تعطيل شفرات ECDH بشكل صريح (إضافة النفي من البرنامج النصي openssl نفسه ، أي openssl s_client -connect 10.85.103.218:8443 -cipher 'DEFAULT:! ECDH')
تمكنا من الاتصال بنجاح.
إليك قائمة التشفير الافتراضية لـ openssl في ubuntu 14.04
ECDH + AESGCM: DH + AESGCM : ECDH + AES256: DH + AES256: ECDH + AES128: DH + AES: ECDH + HIGH : DH + HIGH: ECDH + 3DES : DH + 3 DES: RSA + AESGCM : RSA + AES: RSA + HIGH : RSA + 3DES:! aNULL:! eNULL:! MD5
باستخدام هذه المعرفة ، استخدمت pyopenssl لطباعة أصفار SSL الافتراضية الخاصة بي وأزلت صراحة كل تشفير ECDH من السلسلة. هل هذا صحيح في الكتلة لاستيراد urllib3 من حزمة الطلبات (أي قبل البدء في تقديم أي طلبات فعلية) إليك شيئًا مشابهًا:
https://github.com/kennethreitz/requests/issues/1308
أدرك أنه قد تكون هناك مخاطر أمنية لهذا الإجراء ، لكن هذا على الأقل يدفعنا إلى المضي قدمًا ويلقي مزيدًا من الضوء عليه.
لماذا تبدو هذه الأصفار مشكلة بالنسبة لـ RHEL ، ليس لدي أي فكرة.
سأحاول عندما يكون لدي المزيد من الوقت لمعرفة ما هي تغييرات RHEL المعينة التي قد تكون قد أدخلت هذا وأقرأ عن الغرض أكثر.
هل يعرف أي شخص المزيد عن الأصفار بشكل عام؟
هل لديك نفس المشكلة ... ARG ...
@ lukas-gitl الإحباط لن يساعدك في حل المشكلة. سيساعدك تزويدنا بمعلومات حول بيئتك (يفضل بعض - إن لم يكن كل - المعلومات التي طلبناها من Lekinho أعلاه).
@ sigmavirus24 الاعتذار. قصدت تقديم المزيد من المعلومات ثم تم تعقبها (حيث لم يكن لدي وقت لذلك). أنا أستخدم Ubuntu 14.04 و python 2.7.6 وأحدث إصدار للطلبات على النقطة. يحدث هذا عندما أحاول الوصول كنقطة نهاية بوابة API (قد تكون مقيدة للغاية).
حاولت إزالة Virtualenv وإعادة إنشائه ولكن للأسف لم يحل ذلك.
دعني اعرف ماذا تحتاج ايضا لقد تحولت إلى nodejs في ذلك الوقت ولكن سأكون سعيدًا للمساعدة في حل.
@ lukas-gitl من المحتمل جدًا أن الخادم الذي تتصل به يتطلب الأصفار التي لا تقدمها ، أو إصدارات TLS التي لا تقدمها. يمكن أن يكون هذا مرتبطًا بـ OpenSSL الذي قمت بتثبيته. يجب أيضًا تجربة تشغيل pip install requests[security]
: قد تواجه مشكلات مع SNI.
نعم ، لقد حاولت ذلك أيضًا. اسمحوا لي أن أضع نصًا للاختبار السريع معًا هنا حتى نكون على نفس الصفحة.
virtualenv -p /usr/bin/python2.7 env
مصدر البيئة / بن / تفعيل
طلبات تثبيت النقطة
طلبات تثبيت النقطة [الأمان]
صدى طلبات الاستيراد >> test.py
صدى 'request.get ("https://API_ID.execute-api.us-west-2.amazonaws.com/ENV/ENPOINT")' >> test.py
اختبار الثعبان
وما الخطأ المحدد الذي تراه؟
.../env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:318:
SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#snimissingwarning.
SNIMissingWarning
.../env/local/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Traceback (most recent call last):
File "test.py", line 2, in <module>
requests.get("https://sbsz8eqowe.execute-api.us-west-2.amazonaws.com/dev/segment_to_s3_webhook")
File ".../env/local/lib/python2.7/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File ".../env/local/lib/python2.7/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure```
إذن أنا مطالب أساسًا بالتحديث إلى إصدار أحدث من Python؟
حسنًا ، يشير هذان التحذيران إلى أن طلباتك لا تستخدم فعليًا الامتدادات من الطلبات [الأمان]. إنه يشير بشدة إلى أن أي لغة بايثون تقوم بتنفيذها هي _ليس_ التي قمت بتثبيتها في البيئة الافتراضية الخاصة بك: يجب أن يزيل امتداد الطلبات [الأمان] هذه التحذيرات.
@ lukas-gitl يرجى الاطلاع على ملاحظاتي أعلاه.
هل لديك حق الوصول إلى الخادم؟ قارن بين قائمة الأصفار الافتراضية للخادم والعميل.
من المحتمل جدًا أن أحدهم لا يدعم المجموعة الأولى من الأصفار في الآخر ، ومن ثم الخطأ.
يمكنك التحقق من الأصفار الافتراضية بنص بسيط مثل ما استخدمته هنا:
استيراد النظم
استيراد نظام التشغيل
استيراد ssl
طباعة (ssl.OPENSSL_VERSION)
sys.path.insert (1، os.path.abspath (os.path.join (os.getcwd ()، 'lib')))
sys.path.append ('/ usr / local / lib / python2.7 / dist-bundes')
طلبات الاستيراد
من request.packages.urllib3.contrib استيراد pyopenssl
pyopenssl.inject_into_urllib3 ()
طباعة pyopenssl.DEFAULT_SSL_CIPHER_LIST
حسنًا ، أنا الآن في حيرة من أمري. تأتي رسالة الخطأ من البيئة الافتراضية. فكيف يمكن أن يأتي هؤلاء من هناك بينما أقوم بالتنفيذ من بيئة بيثون مختلفة؟
لذلك حاولت pip install pyopenssl ndg-httpsclient pyasn1
بدلاً من pip install requests[security]
ونجح ذلك ...
آها ، أظن أن النقطة الخاصة بك قديمة جدًا بحيث لا يمكنها التعامل مع الإضافات.
آه ، اللعنة. هذا يفسر الكثير. شكرا جزيلا لك على مساعدتك!
لقد واجهت نفس المشكلة هنا ، كنت سأرسل طلب GET عن طريق الكود التالي:
requests.get('https://mdskip.taobao.com/core/initItemDetail.htm?itemId=530444505608&showShopProm=false&queryMemberRight=true&isRegionLevel=false&tmallBuySupport=true&addressLevel=2&sellerPreview=false&isForbidBuyItem=false&cachedTimestamp=1466835924196&offlineShop=false&household=false&tryBeforeBuy=false&isSecKill=false&service3C=false&isApparel=true&isUseInventoryCenter=false&cartEnable=true&isAreaSell=false&callback=setMdskip×tamp=1466841669969&isg=Al9faN3XWRpIf6UEoQ88UH/1b7np0rNm&ref=https%3A%2F%2Fs.taobao.com%2Fsearch%3Fq%3D%25E6%258B%2589%25E5%25A4%258F%25E8%25B4%259D%25E5%25B0%2594%26imgfile%3D%26commend%3Dall%26ssid%3Ds5-e%26search_type%3Ditem%26sourceId%3Dtb.index%26spm%3Da21bo.50862.201856-taobao-item.1%26ie%3Dutf8%26initiative_id%3Dtbindexz_20160625')
للأسف تلقيت معلومات الخطأ:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)
حاولت تحضير عملية التثبيت openssl ، و brew Upgrade openssl ، و pip install --upgrade pip ، وطلبات تثبيت pip ، وطلب تثبيت pip [الأمان] ، لكنها لم تنجح.
ومع ذلك ، عندما أكتب openssl version
حصلت على OpenSSL 0.9.8zh 14 Jan 2016
، لا أعرف ما إذا كان كل شيء على ما يرام.
هل يوجد أي شخص يمكنه مساعدتي في ذلك؟
@ jschwinger23 هل يمكنك تشغيل pip install pyopenssl ndg-httpsclient pyasn1
كذلك من فضلك؟
Lukasa شكرا لردكم. لقد أكدت من جديد أنني قمت بتثبيتها:
$ pip install pyopenssl ndg-httpsclient pyasn1
Requirement already satisfied (use --upgrade to upgrade): pyopenssl in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Requirement already satisfied (use --upgrade to upgrade): ndg-httpsclient in /Library/Python/2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): pyasn1 in /Library/Python/2.7/site-packages
لكن الكود لا يزال معطلاً.
على أي حال ، اكتشفت أن كل شيء يسير على ما يرام في Python3 ، ويسعدني أن أكون قادرًا على البرمجة في python3.
شكرا جزيلا لك.
اتبعت التعليمات أعلاه ولكن لا تزال تواجه هذه المشكلة
"` `
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Python/2.7/site-packages/requests/api.py", line 71, in get
return request('get', url, params=params, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 477, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)
أيه أفكار؟
"" "
rohanpai من المحتمل أنه ليس لديك أي تداخل في التشفير ، أو أن الخادم البعيد غير راضٍ عن الإصدارات التي تقدمها ، أو أنه من المتوقع أن تقدم شهادة عميل وليست كذلك. من الصعب تقديم نصائح أكثر تحديدًا. جرب هذا للتحقيق في المشكلة.
في ubuntu 14.04LTS كنت بحاجة للقيام بذلك:
sudo pip install ndg-httpsclient pyasn1 --upgrade
لاحظ أنه في Ubuntu لا يمكن ترقية / إزالة pyopenssl
لأنه مملوك لنظام التشغيل.
نجح حل Markstrefford بالنسبة لي على نظام التشغيل mac os sierra أيضًا
لقد نجح حل markstrefford بالنسبة لي أيضًا.
مجرد تنبيه لأي شخص يستخدم OpenSSL 1.1:
ستواجه هذه المشكلة أيضًا ، حتى عند فرض محولات TLS ، عندما يقدم الخادم البعيد Elliptic Curves كخيار أول.
السبب هو: http://bugs.python.org/issue29697
مرحبا شباب! أواجه نفس المشكلة مع الخادم التالي https://34.200.105.231/SID/Service.svc?wsdl
. لقد جربت كل شيء وقمت بالقفز من وإلى نفس الخطأين:
requests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)
requests.exceptions.SSLError: EOF occurred in violation of protocol (_ssl.c:661)
أيه أفكار؟ Lukasa ، أرى بعض المشكلات المتعلقة بالشهادة ، ولكن يبدو أنها لا ينبغي أن تكون بهذا السوء: https://sslanalyzer.comodoca.com/؟url=34.200.105.231
لن تتسبب الشهادة عادةً في حدوث هذه المشكلة: تحدث هذه المشكلة بسبب توقف الخادم عنا ، لذلك عادةً ما تكون نتيجة عدم تطابق مجموعة التشفير. في هذه الحالة ، هذا هو بالضبط ما يحدث كما ترون هنا .
هذا خادم ، بصراحة ، لا ينبغي أبدًا عرضه على الإنترنت المفتوح. لا توجد طرق آمنة للاتصال بهذا الخادم: لا شيء ، صفر. هذا هو سبب فشل المصافحة: تقبل الطلبات مجموعات التشفير الحديثة فقط ، ولا توجد مجموعات تشفير حديثة متاحة لهذا الخادم. الخيار الأفضل هو TLS_RSA_WITH_3DES_EDE_CBC_SHA
، وهو خيار أزلناه لأنه عرضة للهجمات العملية على نقل البيانات على نطاق واسع.
إذا كان هذا الخادم ملكًا لك ، فيرجى ترقيته إلى تطبيق TLS أفضل أو تغيير الإعدادات. خلاف ذلك ، نصيحتي الأولى هي إعادة النظر في التحدث إلى هذا الخادم. إذا كان لا بد من ذلك ، فيمكنك استخدام الكود هنا ، لكني أوصي بشدة بالضغط على مشغل الخادم لإصلاح هذه الفوضى.
Lukasa - نشكرك على العمل من خلال هذا مع الجميع! لقد قرأت وجربت معظم هذا
عند تشغيل البرنامج النصي على Windows ، يعمل كل شيء.
عند تشغيل البرنامج النصي على OSX تلقي:
raise SSLError(e, request=request)
requests.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)
لست مقتنعًا بأنه ليس الخادم نفسه ، لكنني سأقدر أي مساعدة إضافية لتأكيد و / أو إخراجي من حفرة الأرانب هذه. سيكون فوزًا كبيرًا للحصول عليها.
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install --force-reinstall --no-cache-dir {PACKAGE}
لست متأكدًا بنسبة 100٪ من أن التثبيت مقابل opensl فعل أي شيء بالفعل ، حيث يبدو أنه يتصرف مثل التثبيت بدون (على سبيل المثال ، ظهرت السرعة والرسائل كلها متشابهة)
كما هو موجه في موضوع آخر (أعلاه) الاتصال مباشرة عبر openSSL appears
لتكون سعيدًا؟
openssl s_client -connect XXX.102.7.147:443
CONNECTED(00000003)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 198 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1493384325
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
---
آه ... OpenSSL جيد من الناحية الفنية ، لكن OpenSSL لم يفاوض أي تشفير (أي ، يبدو أنه تفاوض على SSL_NULL_WITH_NULL_NULL
. هل يمكنك تشغيل ssllab على الخادم الخاص بك والتحقق من مجموعات التشفير التي يدعمها؟
Lukasa لم يتم الكشف عنه على الإنترنت ، هل هناك بعض تحقيقات سطر الأوامر التي يمكنني إطلاقها والتي يمكن أن توفر رؤية كافية لك؟
يمكنك أن تجرب cipherscan .
Lukasa تم تثبيته ... تمثيله متزعزع (بدون إخراج ، مشاهدته) ... سأعيد الإرسال إذا توصلت إلى أي شيء يمكن تمريره. شكرا على التوجيه!
Lukasa شكرًا جزيلاً على مساعدتك - لم يتم تشغيل cipherscan أبدًا - ولكن تم تصحيح مشكلاتنا. لم يكن له علاقة بأي من هذا ، وكان عدم تطابق IP سخيفًا عبر بيئاتنا ... الدروس المستفادة! شكرا لكم ...
لا توجد مشكلة على الإطلاق ، سعيد لأنك قمت بفرزها!
streamlink -l debug h ttpstream: // https : // www.arconaitv.us/stream.php؟id=43 الأسوأ
[cli] [معلومات] Streamlink يعمل كجذر! احرص!
[CLI] [تصحيح] نظام التشغيل: Linux-4.14.0-041400-generic-x86_64-with-Ubuntu-14.04-trusty
[cli] [تصحيح] بايثون: 2.7.6
[cli] [تصحيح] Streamlink: 0.13.0 + 27.g2ff314c
الطلبات [cli] [التصحيح] (2.19.1) ، الجوارب (1.6.7) ، مقبس الويب (0.48.0)
[cli] [info] تم العثور على البرنامج المساعد المطابق http لعنوان URL h ttpstream: // https : // www.arconaitv.us/stream.php؟id=43
[plugin.http] [تصحيح] URL = https://www.arconaitv.us/stream.php؟id=43؛ المعلمات = {}
[cli] [معلومات] التدفقات المتاحة: البث المباشر (الأسوأ ، الأفضل)
[cli] [معلومات] فتح البث: مباشر (http)
[cli] [تصحيح] تخزين 8192 بايت مسبقًا
[cli] [معلومات] المشغل البادئ: / usr / bin / vlc
[cli] [تصحيح] دفق الكتابة للإخراج
[cli] [معلومات] انتهى الدفق
[cli] [معلومات] إغلاق الدفق المفتوح حاليًا ..
حاولت ولكن لم يحالفها الحظ
atlast حصلت عليه تعمل tvplayer على الكمبيوتر المحلي. لقد قمت بتثبيت tinyproxy في جهاز الكمبيوتر المحلي الخاص بي ولكن في VPS HTProxy xxxx لا يعمل.
هل tinyproxy جيد أو أحتاج إلى خادم وكيل آخر لتثبيته على جهاز الكمبيوتر المحلي الخاص بي.
مرحبًا maanich ، لا يبدو أن هذا مرتبط بشكل مباشر بهذه المشكلة ، أو أنه تقرير عيب للطلبات وهو ما تم حجز أداة تعقب المشكلة له. إذا كانت لديك أسئلة حول تكوين النظام ، فسيتم التعامل معها بشكل أفضل على نظام أساسي مثل StackOverflow . شكرا!
Streamlink --https-proxy " http: // 8xxxx : 8000 /" --tvplayer-email [email protected] --tvplayer-password vcvdf3 --http-no-ssl-check https://tvplayer.com/watch / itv best --player-no-close --stdout | / var / tmp / youtube / ffmpeg -y -i pipe: 0 -vcodec copy -acodec copy -flags -global_header -hls_flags delete_segments -hls_time 10 -hls_list_size 6 /mnt/hls/arc.m3u8
ffmpeg الإصدار 4.0 ثابت https://johnvansickle.com/ffmpeg/ حقوق الطبع والنشر (c) 2000-2018 لمطوري FFmpeg
مبني باستخدام مجلس التعاون الخليجي 6.3.0 (دبيان 6.3.0-18 + deb9u1) 20170516
التكوين: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev = sndio --disable-outdev = sndio --cc = gcc-6 - enable-libxml2 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame - تمكين-libopencore-amrnb - تمكين-libopencore-amrwb - تمكين-libopenjpeg - تمكين-libopenjpeg - تمكين-libopenjpeg -enable-libspeex -enable-libvorbis - تمكين-libopus - تمكين-libtheora - تمكين -libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
ليبافوتيل 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
مرشح libavfilter 7. 16.100 / 7.16.100
مقياس libswale 5. 1.100 / 5. 1.100
عينة libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[وحدة التحكم] [معلومات] Streamlink يعمل كجذر! احرص!
[وحدة التحكم] [معلومات] العثور على البرنامج المساعد tvplayer المطابق لعنوان URL https://tvplayer.com/watch/itv
خطأ: غير قادر على URL المفتوحة: https://live.tvplayer.com/stream.m3u8؟id=204&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cCo6XC9cL2xpdmUudHZwbGF5ZXIuY29tXC9zdHJlYW0ubTN1OD9pZD0yMDQiLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE1MjkwNTc0OTR9LCJJcEFkZHJlc3MiOnsiQVdTOlNvdXJjZUlwIjoiNjIuMjEwLjE0Mi42NlwvMzIifX19XX0_&Signature=mHOteYcUu4QsbGD n0e ~ 7meDUGT8VN7bVOBAHa-0Mk6ROA9XHYx3aIAZMAo3dFjOGuWk-3MszJzRFHdv ~ ~ -CCsmX3D8XQa2zvzfuIWfMAT yDshroXBN25iW6ZJ0-7lGla00jMTUpm5sW-uDy18OkiBWgGvDVas2Lz-EW ~ 5-LTw2YWvEpqkvRB9OpcsHJj9RRQLuDVjwYKXwKvHTJmB1J ~ sGE3aigaL7AZyBaIAUMcpk-xYMpDuPV9BsBN9AT397lFfRPFt155u ~ yeBHZ4JlUN2GINUBt0-CzGuYVq3dsO kYYEZJo9cQTVhArpo7ek03VbNDP5egtCM8 APK
الأنبوب: 0 : تم العثور على بيانات غير صالحة عند معالجة الإدخال
نصيحة من فضلك n ما هو الخادم الوكيل الجيد ل Streamlink إن وجد
التعليق الأكثر فائدة
للأسف ، هذا لا علاقة له بالمشكلة التي حددتها ، ويعود تمامًا إلى OpenSSL السيء الذي يشحنه OS X افتراضيًا. يحتوي الإصدار 0.9.8y على بعض المشكلات الحقيقية في تنفيذ مصافحة SSL ، وبعض الخوادم لا تتسامح معها جيدًا. يكشف استخدام Python 3 في صندوق OS X الخاص بي (وبالتالي باستخدام OpenSSL أحدث) أنه لا توجد مشكلة.
لديك خياران:
env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install PyOpenSSL
.