أحاول استخدام httpie مع واجهة برمجة تطبيقات JIRA REST.
فشل الأمر مع "SSLError: hostname
bash-3.2$ http https://jira.mongodb.org/rest/api/2/search?jql=assignee=bob
http: error: SSLError: hostname 'jira.mongodb.org' doesn't match either of '*.mongodb.com', 'mongodb.com'
ما أفهمه هو أن requests
يجب أن يظهر هذا الخطأ عادةً إذا كانت شهادة SSL غير صالحة. يبدو أن الرسالة تشير إلى أن الشهادة خاصة بـ * .mongodb.com ، والتي لن تقع ضمن نطاق jira.mongodb.org.
ومع ذلك ، فإن الأمر نفسه يعمل بشكل جيد عبر CuRL ، مع عدم وجود تحذيرات SSL:
bash-3.2$ curl -v https://jira.mongodb.org/rest/api/2/search?jql=assignee=free
* Adding handle: conn: 0x7fbe2b003a00
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7fbe2b003a00) send_pipe: 1, recv_pipe: 0
* About to connect() to jira.mongodb.org port 443 (#0)
* Trying 54.221.213.229...
* Connected to jira.mongodb.org (54.221.213.229) port 443 (#0)
* TLS 1.1 connection using TLS_RSA_WITH_AES_256_CBC_SHA
* Server certificate: jira.mongodb.org
* Server certificate: Go Daddy Secure Certification Authority
* Server certificate: Go Daddy Class 2 Certification Authority
> GET /rest/api/2/search?jql=assignee=free HTTP/1.1
> User-Agent: curl/7.30.0
> Host: jira.mongodb.org
> Accept: */*
>
< HTTP/1.1 200 OK
* Server Apache-Coyote/1.1 is not blacklisted
< Server: Apache-Coyote/1.1
< Vary: Accept-Encoding
< Cache-Control: no-cache, no-store, no-transform
< Content-Type: application/json;charset=UTF-8
< Date: Fri, 26 Sep 2014 02:14:22 GMT
< X-AREQUESTID: 134x54195573x2
< Transfer-Encoding: chunked
< X-AUSERNAME: anonymous
< Set-Cookie: atlassian.xsrf.token=ASGJ-NC06-6R0X-EKH7|4d65065ad638afb4fe7edb9b04e81379cc315e06|lout; Path=/
<
* Connection #0 to host jira.mongodb.org left intact
{"startAt":0,"maxResults":50,"total":0,"issues":[]}
علاوة على ذلك ، يتم تحميله بشكل جيد في متصفحي (Chrome) ، ولا يتم إعطاء تحذيرات SSL.
أي أفكار حول ما يمكن أن يحدث من فضلك؟
هذا له علاقة بـ SNI. تحتاج إلى تثبيت التبعيات الإضافية التي ستحصل عليها إذا قمت بـ "طلبات تثبيت النقطة [الأمان]"
مُرسَل من جهازي الذي يعمل بنظام Android مع K-9 Mail. عذرا على الاختصار.
أواجه نفس المشكلة ولكن الطريقة الوحيدة التي يمكنني من خلالها الحصول على طلب للعمل هي إذا قمت بتعيين التحقق على False. حاولت ترقية الطلبات وتثبيت الطلبات [الأمان] وحتى إعداد التحقق من ملف الشهادة.
كنت أواجه هذه المشكلة أيضًا. كنت بحاجة إلى ترقية requests[security]
و httpie
:
pip install --upgrade requests[security]
pip install --upgrade httpie
يجب أن تختفي هذه الأخطاء في إصدارات HTTPie الأحدث التي تعتمد على Python 3.6+.
التعليق الأكثر فائدة
هذا له علاقة بـ SNI. تحتاج إلى تثبيت التبعيات الإضافية التي ستحصل عليها إذا قمت بـ "طلبات تثبيت النقطة [الأمان]"
مُرسَل من جهازي الذي يعمل بنظام Android مع K-9 Mail. عذرا على الاختصار.