Ich versuche, httpie mit der JIRA REST API zu verwenden.
Der Befehl schlägt mit einem „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'
Mein Verständnis ist, dass requests
diesen Fehler normalerweise ausgeben sollte, wenn das SSL-Zertifikat nicht gültig ist. Die Nachricht scheint zu implizieren, dass das Zertifikat für *.mongodb.com gilt, unter das jira.mongodb.org nicht fallen würde.
Derselbe Befehl funktioniert jedoch problemlos über CuRL, ohne SSL-Warnungen:
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":[]}
Außerdem lädt es auch in meinem Browser (Chrome) einwandfrei und es werden keine SSL-Warnungen ausgegeben.
Irgendwelche Gedanken darüber, was los sein könnte, bitte?
Das hat mit SNI zu tun. Sie müssen zusätzliche Abhängigkeiten installieren, die Sie erhalten, wenn Sie „Pip-Installationsanforderungen [Sicherheit]“ ausführen.
Von meinem Android-Gerät mit K-9 Mail gesendet. Bitte entschuldigen Sie meine Kürze.
Ich habe das gleiche Problem, aber die einzige Möglichkeit, eine Anfrage zum Laufen zu bringen, besteht darin, die Überprüfung auf "False" zu setzen. Ich habe versucht, Anforderungen zu aktualisieren und Anforderungen [Sicherheit] zu installieren und sogar die Überprüfung auf die Zertifikatsdatei festzulegen.
Ich hatte dieses Problem auch. Ich musste requests[security]
und httpie
aktualisieren:
pip install --upgrade requests[security]
pip install --upgrade httpie
Diese Fehler sollten in neueren HTTPie-Versionen, die auf Python 3.6+ basieren, verschwunden sein.
Hilfreichster Kommentar
Das hat mit SNI zu tun. Sie müssen zusätzliche Abhängigkeiten installieren, die Sie erhalten, wenn Sie „Pip-Installationsanforderungen [Sicherheit]“ ausführen.
Von meinem Android-Gerät mit K-9 Mail gesendet. Bitte entschuldigen Sie meine Kürze.